を渡すとき、私はこのようになりますモデル例Dapperのと句を持つダイナミックビルドしてください:私は私に渡した検索方法を作成したい私のリポジトリにどのように私はモデルで
public class PersonModel
{
public int Id {get; set;}
public string FirstName {get; set;}
public string Lastname {get; set;}
public string City {get; set;}
}
をすべてのフィールドではなく、常に入力されます。モデルのフィールドに値が設定されているかどうかに基づいて、WHEREとANDを作成します。フィールドに値が設定されていない場合、WHERE句を作成する必要はありません。例えば
- 私は姓=「ボブ」と市=「ボストン」を渡すならば、私は私の検索は、次のようになりたい:私はIDや姓Iドンに合格しなかったので
SELECT * FROM PersonTable WHERE FirstName = @firstName AND City = @city
それらをクエリに追加する必要はありません。私はちょうど市=「ボストン」を渡す場合、私はそれが次のようになりたい:
SELECT * FROM PersonTable WHERE City = @city
私のレポ方法は、この
using Dapper;
public List<PersonModel> Search(PersonModel model)
{
//db = DbConnection connection
var selectSql = "SELECT * FROM PersonTable "; //build out where clause somehow
return db.Query<PersonModel>(selectSql).ToList();
}
のようになります。私の質問は、私はこれを構築する方法をあります私のレポ方法で正しく?
条件付きでwhere句を追加できます。儀式? – Shyju
私はそう仮定しています、はい。しかし、私はそれを行う方法のまともな例を探しています。 – Eldorian