2
我有两个通过一对多关系连接的实体。 这样例如:NHibernate Linq Startwith生成外部联接
public class Category
{
public int Id {get; set; }
public string Name {get; set;}
}
public class Product
{
public int Id {get; set;}
public string Name {get; set;}
public Category ProductCategory {get; set;}
}
和映射使用功能NHibernate
public class CategoryMap : ClassMap<Category>
{
....
}
public Class ProductMap: ClassMap<Product>
{
...
References(x => x.ProductCategory).Column("CategoryId");
}
当我使用LINQ NHibernate的与where子句和相等时,它产生内搜索产品和类别
之间加入so this
var query = session.Query<Product>()
.Where (x => x.ProductCategory.Name == "abc");
th是会产生内加入
但是当我做与startwith搜索这样
var query = session.Query<Product>()
.Where (x => x.ProductCategory.Name.StartWith("abc"));
这将产生外两个之间的连接。
为什么,我该如何强制产生内部连接?
'QueryOver'让你选择它们 – Najera