Linq到EF,我使用的是asp.net 4,EF 4和C#。Linq如何寫JOIN
這裏有兩種方法來查詢我的數據。方式A和C工作正常。然而,B需要實現的和額外的WHERE語句(如「where c.ModeContent ==‘NA’)
我的問題是:
- 對於這種加入的(外連接,我想)什麼在性能方面,最好的方法?
- 你能告訴我一些代碼來實現額外的WHERE B中陳述?
- 任何方式來提高這個代碼?
感謝您的時間!:-)
// A
var queryContents = from c in context.CmsContents
where c.ModeContent == "NA" &&
!(from o in context.CmsContentsAssignedToes select o.ContentId)
.Contains(c.ContentId)
select c;
// B - I need to implent where c.ModeContent == "NA"
var result01 = from c in context.CmsContents
join d in context.CmsContentsAssignedToes on c.ContentId equals d.ContentId into g
where !g.Any()
select c;
// C
var result02 = context.CmsContents.Where(x => x.ModeContent == "NA").Where(item1 => context.CmsContentsAssignedToes.All(item2 => item1.ContentId != item2.ContentId));
我的眼睛流血的錯別字! –
對不起英語這不是我的第一語言:-) – GibboK
我現在修改了一些我的問題應該有更少的錯別字:-) – GibboK