NHibernate级联中的OneToOne关系。查询时间很长

时间:2019-07-05 09:45:44

标签: c# nhibernate fluent

我创建了这种级联保存数据的关系。问题在于加载数据:NHibernate为每行生成一个单独的选择,这需要很长时间。

从我的映射中删除HasOne可以快速加载数据,但是保存存在错误。 知道如何解决吗?提供程序,等效数据库和使用的映射的示例:

获取数据:

public IList<Parent> GetAll()
{

var session = SessionFactory.Create();

var daos = session.Query<ParentDao>().Fetch(x => x.Child).ToList(); // I need to fetch this

return daos;

}

数据库表:

parents: {Id, Name, child_id}
children: {Id, Name}

地图:

public class ParentDaoMap : ClassMap<ParentDao>{

public ParentDaoMap(){

Table("parents");

Id(x => x.Id);
Map(x => x.Name);

References(x => x.ChildDao, "child_id").Cascade.All();

}}

public class ChildDaoMap : ClassMap<ChildDao>{

public ChildDaoMap(){

Table("children");

Id(x => x.Id);
Map(x => x.Name);

HasOne(x => x.ParentDao).PropertyRef(x => x.ChildDao); //This one causes long getting


}}

0 个答案:

没有答案