Я хотел бы выбрать TeamMembers и, если возможно, связанный пользователь.
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 может быть нулевым):
Приведение к типу значения Boolean
не выполнено, поскольку материализованное значение равно null
. Либо универсальный параметр типа результата, либо запрос должен использовать обнуляемый тип.
Тогда я попробовал это с этим фрагментом кода:
User = d.CMS_User == null ? null : new CMSUser() { UserEnabled = d.CMS_User.UserEnabled }
Тогда я получаю это исключение:
Невозможно создать постоянное значение типа MsRetailClub.Core.Entities.RetailersFive.CMSUser
. В этом контексте поддерживаются только примитивные типы (такие как Int32
, String
и Guid
).
Может кто-нибудь показать мне правильный способ сделать это?
Большое спасибо!