这是我的情景。 我有三个实体:经销商,汽车,发动机。 它们是相互关联的,以便经销商可以拥有一个或多个具有不同发动机的车型。
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;}
}
示例:我需要找到所有拥有98kw发动机的经销商。
我试过(我知道这是错的......):
var out = Session.Linq<Dealer>().Where("Cars.Engine.Kw == 98").ToList();
我能以哪种方式得到我需要的东西?
答案 0 :(得分:2)
基本上,
var dealers = Session.Linq<Dealer>().Where(d => d.Cars.Any(c => c.Engine.Kw == 98 ));
但当汽车没有发动机时,这当然会爆炸。