0

プロパティでエンティティを取得する方法を知りたい

実際の SQL クエリを渡す SqlQuery メソッドを使用したくありません。Find() は PK 値でのみ機能します。

エンティティをフィルタリングするために、それぞれの値を持つプロパティのディクショナリを渡すことができるメソッドをリポジトリに配置できるようにしたいと考えています。

public IList<TEntity> FindByProperties(IDictionary<string,object> propertyValues)

NHibernate は条件クエリ API を提供しますが、EF に類似したものはありますか?

提案してください。ありがとう

4

1 に答える 1

0

Entity Framework では通常、ラムダ式を使用してフィルター条件を作成します。あなたは方法を持つことができます...

public IList<TEntity> FindByExpression(Expression<Func<TEntity, bool>> filter)
{
    return context.Set<TEntity>().Where(filter).ToList();
}

...そしてそれを次のように呼び出します:

...FindByExpression(t => t.Name == "Jim" && t.City == "Paris");
于 2012-11-04T12:35:35.773 に答える