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