1
Wie gebe ich wo Bedingung in dieser Abfrage mit in-Klausel?Linq where Klausel mit in
var res = from aa in db.UserMsts.Where(p => p.Id == id)
join bb in db.UserGrpHdrs on aa.usrgrpid equals bb.usrgrpid
join cc in db.UserGrpDtls on aa.usrgrpid equals cc.usrgrpid where cc.pageid == pg
join dd in db.UserPrivHdrs on new { aa.usrgrpid, userid = aa.Id } equals new { dd.usrgrpid, dd.userid } into ddd
from dd in ddd.DefaultIfEmpty()// <== left outer join
//Error in following line
join ee in db.UserPrivDtls on dd.usrprivid equals ee.usrprivid
where ee.pageid == pg into eee // error here at into
from ee in eee.DefaultIfEmpty() // <== left outer join
select new UserPrivDto{
CanAdd = ee.addpriv != null ? ee.addpriv : cc.addpriv,
CanEdit = ee.editpriv != null ? ee.editpriv : cc.editpriv,
CanView = ee.viewpriv != null ? ee.viewpriv : cc.viewpriv,
CanDel = ee.delpriv != null ? ee.delpriv : cc.delpriv,
};
UserPrivDtls muss gefiltert werden und sollte mit einem linken äußeren Join verbunden werden.
Der Fehler ist
Eine Abfrage Körper mit einer select-Klausel oder Gruppenklausel
enden. Dank
Sie verwenden könnten 'db.UserPrivDtls.Where (ee1 => ee1 .pageid == pg) ', genau wie bei' db.UserMsts.Where'. –
@GertArnold Danke Es hat funktioniert. Sollte es eine Antwort geben. – Deb