问题背景:
public IQueryable<T_Bas_PlanInfo> GetT_Bas_PlanInfoByCondition(List<string> conditions)
{
var results = this.ObjectContext.T_Bas_PlanInfo
.Where(e => conditions.Any(e2 => e.plangeneral.Contains(e2)));
return results;
}
在T_Bas_PlanInfo中的plangeneral列中查找包含conditions中任意元素的项,结果返回空(实际应该非空)。
解决方案:
对于conditions这种动态数组,需要表达式树动态生成查询语句。
扩展wherein
public static IQueryable<TEntity> WhereIn<TEntity, TValue>
(
this ObjectQuery<TEntity> query,
Expression<Func<TEntity, TValue>> selector,
IEnumerable<TValue> collection
)
{
版权声明:本文为wangchongcy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。