Expression<Func<PartJoinTable, bool>> predicate = null;
var query2 = query.Join(partJoinTableRepository.GetPartJoinQuery(),
"x.PartID", "PartID", "inner" + row + "", null);
foreach (var item1 in query)
{
list.Add(new PartJoinTable
{
ProductTypeId = item1.x.ProductTypeId,
PartId = item1.x.PartId
});
}
predicate = PredicateBuilder.True(list.AsQueryable());
if (typeid=="3")
{
if (row == 0)
{
predicate1 = predicate1.And(z => cpaclassids.Contains(z.x.ProductTypeId.ToString()));
}
else
{
predicate = predicate.And(x => cpaclassids.Contains(x.ProductTypeId.ToString()));
}
}
row++;
}
int lst1 = query.Where(predicate).Select(x => x).Distinct().ToList().Count();
无法从'System.Linq.Expressions.Expression>'转换为'System.Func <,bool>'
声明变量Expression<Func<PartJoinTable, bool>> predicate = null;
答案 0 :(得分:1)
答案
Expression>谓词= null;引发错误 条件(query.Where(predicate))
是
if (predicate != null)
query = query.Where(predicate);
int lst1 = query.Distinct().Count();
仅添加where
子句。在.ToList()
之前使用.Count()
,您要投影从数据库到内存的每一行。
答案 1 :(得分:0)
您可以使用M1
进行书写-它可以保存以下问题:?
这是完整代码:
if (predicate != null)
您只能写:int lst1 = query.Where(predicate)?.Select(x => x)?.Distinct()?.ToList()?.Count;
-类Count
中的属性