Я использую EF 6, и мне нужен запрос LINQ для извлечения всех данных в мою ViewModel. Каждое событие имеет статус (один к одному) В таблицах нет FK
Я хочу отображать что-то вроде этого:
EventID EventStatusID Name EventDate EventDesc
99 1 Allowed 2000-1-1 Music festival
Класс ViewModel:
public class EventVM : Event
{
public EventStatus EStatus { get; set; }
}
Класс события:
[Serializable]
public class Event
{
public int EventID { get; set; }
public int EventStatusID { get; set; }
public string EventNumber { get; set; }
public DateTime EventDate { get; set; }
public string EventDesc { get; set; }
}
Класс статуса события:
[Serializable]
public class EventStatus
{
public int EventStatusID { get; set; }
public string Name{ get; set; }
public string Desc{ get; set; }
}
Таблица событий:
dbo.Event
Column name Type Allow nulls
PK Eventid int no
Eventstatusid int no
Eventnumber nvarchar no
Eventdate date no
Eventdesc nvarchar no
Таблица состояния событий:
dbo.EventStatus
Column name Type Allow nulls
PK Eventstatusid int no
Desc nvarchar no
Name nvarchar no
Я застрял в этом моменте:
var viewModel =
(from ev in db.Events
join evs in db.EventStatus on ev.EventStatusID equals evs.EventStatusID
where ev.EventStatusID == id
select new EventVM
{
EventID = ev.EventID
}).First();
с ошибкой:
System.NotSupportedException: «Сущность или сложный тип «ModelEvent.EntityFramework.Concrete.EventVM» не может быть создан в запросе LINQ to Entities».
Я не могу изменить модель просмотра, я должен использовать эту