FluentNHibernate HasMany не заполняет коллекцию - PullRequest
0 голосов
/ 11 апреля 2009

У меня отношения один ко многим со следующим конфигом

 HasMany(x => x.Staff)  
       .Inverse()  
       .Cascade.All();  

Но я получаю коллекцию не удалось инициализировать ошибку.

Не нужно ли здесь указывать иностранный ключ, примеры, которые я нашел, не имеют значения *

Откуда он знает, какой внешний ключ?

РЕДАКТИРОВАТЬ: Глядя на исключение, sql пытается использовать поле Staff_id когда я сказал, что это StaffID ??

Malcolm

1 Ответ

5 голосов
/ 11 апреля 2009

Попробуйте

 HasMany(x => x.Staff)
   .KeyColumnNames.Add("StaffID")
   .Inverse()  
   .Cascade.All();

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

Если вы отображаете коллекцию в IList <T>, вам нужно добавить AsBag (), или NHibernate будет жаловаться на отсутствующий столбец «idx». Если вы хотите лениво загрузить коллекцию, добавьте .LazyLoad (). И я обычно иду с .Cascade.AllDeleteOrphan ().

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