Вопрос

Допустим, у меня есть таблица запросов, которая выглядит следующим образом:

RequestId INT  
ReferenceNumber VARCHAR

Каждый запрос заносится в таблицу запроса. Между таблицами нет внешних ключей:

RequestLogId INT  
ReferenceNumber VARCHAR  
Content VARCHAR  

Журнал запросов содержит содержимое запроса, и этот контент необходимо хранить в течение определенного периода времени. Запрос может быть удален, но журнал может быть удален только через некоторое время.

Как я могу сопоставить свой объект запроса, чтобы он мог содержать список запросов, основанный на номере ссылки?

Я попробовал это:

Table("InsuranceRequest");  
Id(i => i.Id).Column("InsuranceRequestId");  
Map(i => i.ReferenceNumber);  
HasMany(i => i.InsuranceRequestLog).KeyColumn("RefenceNumber").LazyLoad.Cascade.None();

Это не работает, хотя. Это сопоставление пытается сопоставить ссылочный номер с RequestLogId requestlog. Есть ли способ указать, что в столбце присоединения должен быть ссылочный номер журнала страховых запросов?

Это было полезно?

Решение

ничто не мешает многим многим в вашей структуре таблицы .. Я рекомендую изменить структуру и сделать их внешними ключами, и я уверен, что отображение многих ко многим будет работать для вас, если отображение не работает после изменения структуры.

еще один совет для вас: возьми пустую БД и попробуй выставить схему .. чем вы сможете увидеть, как nhibernate думает, что структура должна выглядеть

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top