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