entity framework - Union tables with LINQ query for custom Model -
i have 3 tables(in origin 6 shorter better here) have have key column in common want filter , union these tables using linq
here did far, works understand me why post since saw code below
var query = (from icr in ictetkikradyoloji icr.commanid == userid select new mycustommodel { id = icr.id, istemtarihi = icr.istemtarihi, laboratuvar = icr.laboratuvar, sonuc = icr.sonuc, hastaguid = "-", type_ = "1" }).union(from icb in ictetkikbakteriyoloji icb.commanid == userid select new mycustommodel { id = icb.id, istemtarihi = icb.istemtarihi, laboratuvar = icb.laboratuvar, sonuc = "-", hastaguid ="someguid", type_ = "2" }).union(from icbk in ictetkikbiyokimya icbk.commanid == userid select new mycustommodel { id = icbk.id, istemtarihi = datetime.now, laboratuvar = icbk.laboratuvar, sonuc = "-", hastaguid ="someguid", type_ = "3" });
you see ugly , uglier in origin :( how can make little bit more beauty, since return entities specific model(mycustommodel) feel can be..
you first perform projection , union on cases. additional data projection should have commanid
. can use anonymous types, don't have create class intermediate projection. after can specify filter once , final projection mycustommodel
.
for example:
var unionquery = (from icr in ictetkikradyoloji select new { id = icr.id, istemtarihi = icr.istemtarihi, laboratuvar = icr.laboratuvar, sonuc = icr.sonuc, hastaguid = "-", type_ = "1", commanid = icr.commanid }).union( (from icb in ictetkikbakteriyoloji select new { id = icb.id, istemtarihi = icb.istemtarihi, laboratuvar = icb.laboratuvar, sonuc = "-", hastaguid = "someguid", type_ = "2", commanid = icb.commanid })).union( (from icbk in ictetkikbiyokimya select new { id = icbk.id, istemtarihi = datetime.now, laboratuvar = icbk.laboratuvar, sonuc = "-", hastaguid = "someguid", type_ = "3", commanid = icbk.commanid })); var query = in unionquery i.commanid = userid select new mycustommodel { id = i.id, istemtarihi = i.istemtarihi, laboratuvar = i.laboratuvar, sonuc = "-", hastaguid = "someguid", type_ = "3", };
alternatively add property commanid
mycustommodel
, don't need final projection , anonymous types.
Comments
Post a Comment