Отношение OneToOne в каскаде NHibernate. Очень длительное время запроса - PullRequest
0 голосов
/ 05 июля 2019

Я создал такое отношение к каскадному сохранению данных.Проблема заключается в загрузке данных: 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;

}

DataBaseTables:

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


}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...