Nhibernate 我能';这是选择N+;1.
我有这个映射(它来自adventureworks,因为我在自动分页收集的演示应用程序中使用了它) 这将避免问题。添加Nhibernate 我能';这是选择N+;1.,nhibernate,select-n-plus-1,Nhibernate,Select N Plus 1,我有这个映射(它来自adventureworks,因为我在自动分页收集的演示应用程序中使用了它) 这将避免问题。添加.ThenFetch(c=>c.Contact)在之后。Fetch(k=>k.salesson)还应在添加的员工的联系人中提取.ThenFetch(c=>c.Contact)在之后提取(k=>k.salesson)还应获取员工的联系人 ModelMapper mapper = new ModelMapper(new SimpleModelInspector());
.ThenFetch(c=>c.Contact)
在之后。Fetch(k=>k.salesson)
还应在添加的员工的联系人中提取.ThenFetch(c=>c.Contact)
在之后提取(k=>k.salesson)
还应获取员工的联系人
ModelMapper mapper = new ModelMapper(new SimpleModelInspector());
mapper.Class<Contact>(
k => {
k.Id(i => i.ContactID, m => m.Generator(Generators.Native));
k.Schema("Person");
}
);
mapper.Class<Employee>(
k =>
{
k.Id(i => i.EmployeeID, m => m.Generator(Generators.Native));
k.Schema("HumanResources");
k.ManyToOne(c => c.Contact, m => m.Column("ContactID"));
}
);
mapper.Class<SalesOrderHeader>(
k =>
{
k.Id(i => i.SalesOrderID,m=>m.Generator(Generators.Native));
k.Schema("Sales");
k.ManyToOne(c => c.SalesPerson, m => m.Column("SalesPersonID"));
k.ManyToOne(c => c.Contact, m => m.Column("ContactID"));
}
);
var map = mapper.CompileMappingForAllExplicitlyAddedEntities();
cfg.AddDeserializedMapping(map,string.Empty);
var list = NHHelper.Instance.CurrentSession.Query<SalesOrderHeader>()
.Fetch(k => k.Contact)
.Fetch(k => k.SalesPerson)
.Skip(first)
.Take(count)
.ToList();
var list = NHHelper.Instance.CurrentSession.Query<SalesOrderHeader>()
.Fetch(k => k.Contact)
.Fetch(k => k.SalesPerson).ThenFetch(k=>k.Contact)
.Skip(first)
.Take(count)
.ToList();