c# - ViewModel. Load LINQ query to view -
this question has answer here:
im using ef 6 , need linq query fetch data viewmodel. every event has status (one one) there not fk in tables
i want display that:
eventid eventstatusid name eventdate eventdesc 99 1 allowed 2000-1-1 music festival viewmodel class:
public class eventvm : event { public eventstatus estatus { get; set; } } event class:
[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; } } event status class:
[serializable] public class eventstatus { public int eventstatusid { get; set; } public string name{ get; set; } public string desc{ get; set; } } event table:
dbo.event column name type allow nulls pk eventid int no eventstatusid int no eventnumber nvarchar no eventdate date no eventdesc nvarchar no eventstatus table:
dbo.eventstatus column name type allow nulls pk eventstatusid int no desc nvarchar no name nvarchar no i stucked in moment :
var viewmodel = (from ev in db.events join evs in db.eventstatus on ev.eventstatusid equals evs.eventstatusid ev.eventstatusid == id select new eventvm { eventid = ev.eventid }).first(); with error:
system.notsupportedexception: 'the entity or complex type 'modelevent.entityframework.concrete.eventvm' cannot constructed in linq entities query.'
i cant change view model, have use one
you need create model or use anonymous type gather data db (don't forget use tolist() gather data), , map it's properties properties of eventvm. getting error, because ef unable create instance of eventvm.
Comments
Post a Comment