我想知道如何通过属性获取实体
我不想在传递实际SQL查询的地方使用SqlQuery方法。 Find()仅适用于PK值。
我希望能够在我的存储库中有一个方法,我可以传入一个具有相应值的属性字典来过滤我的实体。
public IList<TEntity> FindByProperties(IDictionary<string,object> propertyValues)
NHibernate提供条件查询api,EF中有类似的内容吗?
请建议。感谢
答案 0 :(得分:0)
使用Entity Framework时,通常使用 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");