0

我想知道如何通过属性获取实体

我不想在传递实际 SQL 查询的地方使用 SqlQuery 方法。Find() 仅适用于 PK 值。

我希望能够在我的存储库中有一个方法,我可以在其中传递具有相应值的属性字典来过滤我的实体。

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

NHibernate 提供了条件查询 api,在 EF 中是否有类似的东西?

请建议。谢谢

4

1 回答 1

0

使用实体框架,您通常使用lambda 表达式来创建过滤条件。你可以有一个方法...

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 回答