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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
Linq 如何进行快速加载和左连接?_Linq_C# 4.0_Entity Framework 5 - Fatal编程技术网

Linq 如何进行快速加载和左连接?

Linq 如何进行快速加载和左连接?,linq,c#-4.0,entity-framework-5,Linq,C# 4.0,Entity Framework 5,我的数据库中有两个1:N关系的表,我想用急切加载进行左连接查询 我的桌子是: 视频(IDVIdeo,名称…) Versions(IDVersion,IDVideo,Name,available…) 嗯,在一个视频中,我可以有很多版本(DVD、蓝光等),而一个版本只能属于一个视频 我想得到所有的视频,我至少有一个可用的版本(也许有些版本是在一个朋友拥有) 我想知道我是否有至少一个版本,我可以看到,因为我有这个版本。此外,我希望在视频实体中的版本集合中,我希望拥有我拥有的所有版本(无论是否有一个

我的数据库中有两个1:N关系的表,我想用急切加载进行左连接查询

我的桌子是:

  • 视频
    IDVIdeo,名称…
  • Versions
    IDVersion,IDVideo,Name,available…
嗯,在一个视频中,我可以有很多版本(DVD、蓝光等),而一个版本只能属于一个视频

我想得到所有的视频,我至少有一个可用的版本(也许有些版本是在一个朋友拥有)

我想知道我是否有至少一个版本,我可以看到,因为我有这个版本。此外,我希望在视频实体中的版本集合中,我希望拥有我拥有的所有版本(无论是否有一个版本可用,我希望知道哪些可用,哪些不可用)

如何进行此查询?我想使用渴望加载只对数据库执行一个查询。我更喜欢使用原始SQL进行查询,但原始SQL不允许使用即时加载

谢谢

在视频类中创建,它将保存版本(如果您没有生成):

public class Video
{
   public Video
   {
       Versions = new HashSet<Version>();
   }

   public int Id { get; set; }
   public string Name { get; set; }

   public virtual ICollection<Version> Versions { get; set; }
}
var query = db.Videos.Include(v => v.Versions);