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有很多我不需要的屬性。所以如果可能的話我想選擇我想要的屬性。 –