Entity Framework - Невозможно создать постоянное значение типа x. В этом контексте поддерживаются только примитивные типы.

У меня есть следующая

Модель инженера:

public class engineers
{
    public Guid? Guid { get; set; }
    public string Name { get; set; }
}

Я заполняю список инженеров правильными данными:

List<engineers> listeng = new List<engineers>();
listeng.Add(new engineers { Name = profile.FirstName + " " + profile.LastName, Guid = GuidEngineer });

Пока так хорошо.

Мой вопрос, как я могу указать имя инженера в приведенной ниже записи на английском языке:

 var tickets = from o in new HelpdeskEntities().Tickets.Where(t => t.TicketState.State == "Open")
                    select new AjaxTickets
                    {
                        TicketID = o.TicketID,
                        TicketSubject = o.TicketSubject,
                        ClientCompanyName = o.ClientCompany.ClientCompanyName,
                        DateOpened = o.DateOpened,
                        **eng** = list.Where(x => x.Guid == o.EngineerID).Select(x => new engineers {Guid = x.Guid, Name=x.Name }).FirstOrDefault().Name

                    }; 

Я также пробовал

var tickets = from o in new HelpdeskEntities().Tickets.Where(t => t.TicketState.State == "Open")
                    select new AjaxTickets
                    {
                        TicketID = o.TicketID,
                        TicketSubject = o.TicketSubject,
                        ClientCompanyName = o.ClientCompany.ClientCompanyName,
                        DateOpened = o.DateOpened,
                        **eng** = list.Where(x => x.Guid == o.EngineerID).Select(x => x.Name }).FirstOrDefault()
                    }; 

Я получаю следующую ошибку:

Unable to create a constant value of type 'Helpdesk2.ViewModel.engineers'. Only primitive types ('such as Int32, String, and Guid') are supported in this context."}

Я вроде как понимаю, но не могу понять. просто выберите имя инженера.

Заранее благодарим

6
задан tereško 1 August 2013 в 14:33
поделиться