我有以下簡單的LINQ查詢時:的ArgumentException在LINQ查詢使用char.isDigit
IQueryable<PersonListItemDbTemp> query =
from pers in db.Person
join pe in db.PersonExtra on pers.PersonID equals pe.PersonID into ppe
from personExtra in ppe.DefaultIfEmpty()
select new PersonListItemDbTemp()
{
PersonnrAreDigits = pers.Personnr != null && pers.Personnr.All(p => char.IsDigit(p))
};
return query;
其中pers.Personnr是一個字符串。我得到下面的異常:
System.ArgumentException:DbExpressionBinding需要一個輸入表達式與集合ResultType。 Parameternamn:輸入 VID System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder.DbExpressionBuilder.BindAs(DbExpression輸入,字符串的varName) VID System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.TranslateLambda(LambdaExpression拉姆達,DbExpression輸入,DbExpressionBinding &結合) VID
什麼我錯在這裏做什麼?
通過異常對象的名字,我想LINQ到實體和EF的核心,但是,是,OP應該標記它:-) – Jcl
@ TimSchmelter這是LINQ-to-Entities和EF6。 – HischT