Linq错误:无法创建类型的常数值

本文关键字:类型 常数值 创建 错误 Linq | 更新日期: 2023-09-27 18:15:53

我正在尝试创建执行以下linq查询:

result = (from user in context.vwUsers
          join boardMember in boardMembers
          on user.nationalNo equals boardMember.nationalNo
          select user).ToList();

但是我得到了以下异常:

系统。NotSupportedException:无法创建一个常量值"DataAccessLayer.User"类型。只有基本类型或枚举类型

更多信息:
boardMembers是以下linq查询的结果:

var boardMembers = (from complex in context.ApartmentGroups
                    where complex.grpId == complexId
                    select complex).First().Users;

我试图从db获得vwUsers的列表,我的代码正试图做以下事情:
1. 从数据库中获取用户列表(类型为User)。
2. 将之前的列表转换为vwUser s列表

Linq错误:无法创建类型的常数值

试试这个,

var boardMembers = (from complex in context.ApartmentGroups
                    where complex.grpId == complexId
                    select complex).FirstOrDefault().Users;

——对于所需的结果执行

 var result = from c in context.vwUsers
                          where boardMembers.Select(x=>x.nationalNo).Contains(c.nationalNo)
                          select c;