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_Nhibernate - Fatal编程技术网

C# Linq在实体列表属性上的位置

C# Linq在实体列表属性上的位置,c#,linq,entity-framework,nhibernate,C#,Linq,Entity Framework,Nhibernate,这是我的设想。 我有三个实体:经销商、汽车、发动机。 它们相互关联,以便经销商可以拥有一个或多个具有不同发动机的车型 public class Dealer { public virtual int id{get;set;} public virtual string name{get;set;} public virtual IList<Car> Cars{get;set;} } public class Car { public virtual int id{

这是我的设想。 我有三个实体:经销商、汽车、发动机。 它们相互关联,以便经销商可以拥有一个或多个具有不同发动机的车型

public class Dealer
{
  public virtual int id{get;set;}
  public virtual string name{get;set;}
  public virtual IList<Car> Cars{get;set;}
}

public class Car 
{
  public virtual int id{get;set;}
  public virtual string name{get;set;}
  public virtual Engine engine{get;set;}
}

public class Engine
{
  public virtual int id{get;set;}
  public virtual string description{get;set;}
  public virtual int kw{get;set;}
}
公共类经销商
{
公共虚拟整数id{get;set;}
公共虚拟字符串名称{get;set;}
公共虚拟IList车{get;set;}
}
公车
{
公共虚拟整数id{get;set;}
公共虚拟字符串名称{get;set;}
公共虚拟引擎引擎{get;set;}
}
公共级引擎
{
公共虚拟整数id{get;set;}
公共虚拟字符串描述{get;set;}
公共虚拟整数kw{get;set;}
}
示例:我需要找到所有拥有98kw发动机汽车的经销商

我试过(我知道这是错误的…):

var out=Session.Linq()。其中(“Cars.Engine.Kw==98”).ToList();
我可以通过哪种方式得到我需要的东西?基本上

var dealers = Session.Linq<Dealer>().Where(d => d.Cars.Any(c => c.Engine.Kw == 98 ));
var-derals=Session.Linq()。其中(d=>d.Cars.Any(c=>c.Engine.Kw==98));

但当汽车没有发动机时,这当然会爆炸

和所有者==经销商??请在邮寄前检查您的代码。最好先编译。对不起,先生。。修正了…嘿@Henk,如果下次你能在回答中多加一点解释或叙述,那就太好了!
var dealers = Session.Linq<Dealer>().Where(d => d.Cars.Any(c => c.Engine.Kw == 98 ));