Я использую Fluent NHibernate, и у меня есть следующие настройки:
Объект Address , представляющий собой простой список полей адреса.
A Company объект, который имеет две ссылки на адресные объекты, MainAddress, InvoiceAddress.
Проблема, с которой я столкнулся, заключается в том, что иногда MainAddress и InvoiceAddress могут ссылаться на одну и ту же запись в Адрес таблица.
Адреса ищутся путем поиска, используя что-то вроде:
ICriteria c = session.CreateCriteria(typeof(Address))
.Add(Example.Create(address).ExcludeNone());
Поскольку каждый Адрес выбирается отдельно, это приводит к двум экземплярам одной и той же записи, в результате чего NHibernate рвется при попытке сохранить объект Company .
"другой объект с тем жезначение идентификатора уже было связано с сеансом "
Как лучше всего обойти это?
Спасибо!