我有一个像这样的对象模型:
public class Foo
{
public int Id {get;set;}
public string FooName {get;set;}
}
public class Bar
{
public int Id {get;set;}
public Foo Foo {get;set;}
}
这些以典型的一对多方式对应于数据库中的表。
使用Linq到NHibernate根据他们的Foo.Id属性查询Bars(它应该简单地查询Bars表中的FoodId外键)生成带连接的SQL!
有谁知道为什么会这样?这是标准的NHibernate行为吗?或者与Linq提供商有关?或者甚至可能是FluentNHibernate(我用于映射)?
由于
大卫
答案 0 :(得分:1)
此行为是由NHibernate.Linq引起的(我认为它与表达式转换为查询的ICriteria表示形式的方式有关)。据我所知,没有办法直接使用Nhibernate.Linq,但你可以直接使用HQL或ICriteria来实现你想要的结果。