我正在使用EF Code First 4.2版本, 当where子句需要动态构建时,您建议采用什么样的解决方案? 同时包括Include功能也是非常必要的:
var results = db.Set<dynamicType>.Where("dynamic conditions").Include("....");
上面的动态条件需要查找另一个表来过滤记录: 如果我想在Linq表达式中编写它,应该是这样的:
var result = db.Set<Contact>().Where(c=>c.AccountId == _Id_param || db.Set<LinkTable>().Any(a=>a.FkFieldId == c.AccountId && a.ParentId == _Id_param)).Include("Quotes");
基本上我需要上述表达式的动态linq,因为对于不同类型,Where子句字段会发生变化(Contact只是一个例子),例如在一个模型中,FK字段可能是“AccountId”,而在另一个模型中需要是“AccountFKId”。因此,Where子句必须是动态的!