У меня есть следующие таблицы: Users
, RemindersFor
, Reminders
.RemindersFor содержит UserID
и ReminderID
, для пользователей - Id
, а для напоминаний - Id
.
В файле карты пользователей (используя Fluent NHibernate) я поместил:
HasManyToMany<Reminder>(f => f.Reminders).AsBag()
.Table("RemindersFor").ParentKeyColumn("UserID").ChildKeyColumn("ReminderID");
Однако я получаю исключения: Invalid column name 'Id'.
SQL, который генерирует NHibernateis:
{"не удалось инициализировать коллекцию: [Напоминания # 2] [SQL: ВЫБРАТЬ напоминания 0_. UserID в качестве UserID1_, Remdersder__.ReminderID в качестве ReminderID1_, Remderder1_.Id в качестве Id6_0_, напоминание 1_. Создано какCreated6_0_, reminder1_.CreatedBy, как CreatedBy6_0_, reminder1_.ReminderDate как Reminder4_6_0_, reminder1_.HeaderText как HeaderText6_0_, reminder1_.ReminderText как Reminder6_6_0_, reminder1_.LinkDS как LinkDS6_0_, reminder1_.LinkRecID как LinkRecID6_0_, reminder1_.Action как Action6_0_, reminder1_.ActionNotes как ActionN10_6_0_ ИЗНапоминанияДля напоминаний0_ оставлено внешнее объединение Напоминания напоминание1_ на напоминания0_.ReminderID = Remder1_.Id. ГДЕ ПОМОЩЬ ПОДСКАЗКАМ0 ..UserID =?] "}
Мне кажется странным, что когда я запускаю это sql studio studio, это работает (кромеЯ должен изменить UserID=?
на UserID=1
и т.д ...
Я деоштрафовать «многие ко многим» как-то не так?