0
即时通讯使用EF 6,我需要一个LINQ查询来获取所有数据到我的ViewModel。 每一个事件都有一个状态(一对一) 有没有FK表中ViewModel。加载LINQ查询来查看
我想要做显示这样的事情:
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
EventStatus表:
dbo.EventStatus
Column name Type Allow nulls
PK Eventstatusid int no
Desc nvarchar no
Name nvarchar no
我在这一刻stucked:
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: 'The entity or complex type 'ModelEvent.EntityFramework.Concrete.EventVM' cannot be constructed in a LINQ to Entities query.'
我不能改变视图模型,我必须使用这一个
只需选择匿名类型,然后创建一个模型。 –
或者让视图模型类不从'Event'继承 –