Expression cannot contain lambda expressions 表达式不能包含lambda表达式

8 浏览
0 Comments

Expression cannot contain lambda expressions 表达式不能包含lambda表达式

我已经按照以下方式获取了List<>对象(使用.Include()):

List entityvDetails =
    context.vDetails
    .Include("payInstallment.appsDetail")
    .Include("payInstallment.appsDetail.application")
    .Include("payInstallment.appsDetail.purposes")
    .Where(e => e.vch_id == 123).ToList();

然后在代码的某个地方,我尝试如下过滤实体记录:

foreach (vDetail item in lstVDetails)
{
    ... 
    int purposeId = entityvDetails.Where(e => e.sad_id == item.sad_id).FirstOrDefault().payInstallment.appsDetail.purposes.prp_id;
    ...
}

代码编译完美。然而,运行时返回以下错误(尽管所有的导航都已包含):

对象引用未设置为对象的实例。

所以我设置了调试,在监视窗口中分析以下语句:

entityVoucherDetails.Where(e => e.sad_id == item.sad_id).FirstOrDefault()

监视窗口生成以下错误:

表达式不能包含lambda表达式。

请问有人可以告诉我可能的原因是什么吗?

0