1
我想选择TeamMembers,如果可用,选择相关的用户。实体框架 - linq和空值
public IEnumerable<RetailersFiveTeamMember> GetRetailersFiveTeamMembers(int retailLeaderID)
{
var members = this.EntityDataModel.DD_RetailersFiveTeamMember.Where(d => d.CMS_User1.UserID == retailLeaderID)
.Select(d => new RetailersFiveTeamMember
{
DateCreated = d.DateCreated,
Email = d.Email,
User = new CMSUser() { UserEnabled = d.CMS_User.UserEnabled }
}).ToArray();
return members;
如果我执行这个查询,我得到以下错误(这是预期的,因为CMS_User可以为null):
演员阵容价值型
Boolean
失败,因为物化价值是null
。结果类型的泛型参数或查询都必须使用可为空的类型。
然后我用这段代码试了一下:
User = d.CMS_User == null ? null : new CMSUser() { UserEnabled = d.CMS_User.UserEnabled }
然后我得到这个异常:
无法创建
MsRetailClub.Core.Entities.RetailersFive.CMSUser
类型的恒定值。在此上下文中仅支持基本类型(如Int32
,String
和Guid
)。
任何人都可以告诉我正确的方法吗? 非常感谢!
看来你的问题与CMS_User1关系。 –
为什么不写用户= d.CMS_User? – Svarog
Hey Svarog:d.CMS_User有很多我不需要的属性。所以如果可能的话我想选择我想要的属性。 –