1
どのように条件をwhere句でこのクエリのどこに供給するのですか?Linqどこで句を使用する
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はフィルタリングする必要があり、左外部結合で結合する必要があります。
エラーは、照会本体がselect句またはGROUP句
で終わらなければなりません
です。 おかげ
あなたは 'db.UserPrivDtls.Where(EE1 => EE1を使用することができます.pageid == pg) 'と同様に、' db.UserMsts.Where'と同様です。 –
@GertArnoldありがとうそれは働いた。答えにする必要があります。 – Deb