DapperExtensions を使用して一般的な Find メソッドを作成しようとしています
これが私の方法です
public IEnumerable<T> Find(Expression<Func<T, object>> expression)
{
using (IDbConnection cn = GetCn())
{
cn.Open();
var predicate = Predicates.Field<T>(expression, Operator.Eq, true);
return cn.GetList<T>(predicate);
}
}
しかし、私System.NullReferenceException
はこの行に乗り ますvar predicate = Predicates.Field<T>(expression, Operator.Eq, true);
これは DapperExtensions ヘルプ ドキュメントからのものですが、これをジェネリック メソッドに変換してみます。
using (SqlConnection cn = new SqlConnection(_connectionString))
{
cn.Open();
var predicate = Predicates.Field<Person>(f => f.Active, Operator.Eq, true);
IEnumerable<Person> list = cn.GetList<Person>(predicate);
cn.Close();
}