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

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -