Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq如何编写连接_C#_Linq_Entity Framework_Linq To Entities - Fatal编程技术网

C# Linq如何编写连接

C# Linq如何编写连接,c#,linq,entity-framework,linq-to-entities,C#,Linq,Entity Framework,Linq To Entities,Linq to EF,我正在使用asp.net 4、EF 4和C# 下面是我提出的两种查询数据的方法。方法A和C运行良好。然而,B需要实现和附加WHERE语句(如“WHERE c.ModeContent==”NA”) 我的问题是: 关于这种连接(我想是外部连接),就性能而言,什么是最好的方法 您能给我看一些代码来实现B中的附加WHERE语句吗 有什么办法可以改进这段代码吗 谢谢你抽出时间!:-) 关于查询B,您可以应用如下条件: var result01 = from c in contex

Linq to EF,我正在使用asp.net 4、EF 4和C#

下面是我提出的两种查询数据的方法。方法A和C运行良好。然而,B需要实现和附加WHERE语句(如“WHERE c.ModeContent==”NA”)

我的问题是:

  • 关于这种连接(我想是外部连接),就性能而言,什么是最好的方法
  • 您能给我看一些代码来实现B中的附加WHERE语句吗
  • 有什么办法可以改进这段代码吗
谢谢你抽出时间!:-)


关于查询B,您可以应用如下条件:

var result01 = from c in context.CmsContents where c.ModeContent == "NA"
join d in context.CmsContentsAssignedToes on c.ContentId equals d.ContentId into g
where !g.Any()
select c;

如果您:

我猜
CmsContent
CmsContentsAssignedToes
的导航被称为
AssignedToes
。如果我的查询实际上被称为其他名称,请更改其名称


这个问题可以大声读出来,你完全知道它的意思。你必须考虑的
join
版本。

我的眼睛因为拼写错误而流血!对不起,英语不是我的第一语言:-)我现在修改了一些我的问题,应该少一些拼写错误:-)
var result01 = from c in context.CmsContents where c.ModeContent == "NA"
join d in context.CmsContentsAssignedToes on c.ContentId equals d.ContentId into g
where !g.Any()
select c;
var result = from c in context.CmsContents
             where c.ModeContent == "NA"
                && !c.AssignedToes.Any()
             select c;