使用C#EF 4.想要查找列表最大信息
selector= entityBillax.BillTaxID
public static List<T> GetMaxRowIDForChild2<T>(T fromList, Expression<Func<T,T>> selector)
{
selector = fromList.Count + 1;
if (fromList.Count > 0)
{
selector = fromList.Max(x => x.BillTaxID) + 1;
}
else
{
selector = 1;
}
}
以上语法不起作用,选择参数面临问题。可以编写表达式树来计算max,基于属性。
如果有任何疑问,请询问。谢谢高级。
答案 0 :(得分:1)
我不知道这是你问的问题,但如果你有IQueryable
表示某个数据库表而Expression
从该表中选择一个整数属性并且你想得到该属性的最大值+ 1(如果表为空,则为1),那么你可以这样做:
public static int GetMaxRowId<T>(
IQueryable<T> source, Expression<Func<T, int>> selector)
{
if (source.Any())
return source.Max(selector) + 1;
return 1;
}
虽然此代码存在一些问题,但它应该作为实际代码的基础。