2009-05-18 1 views
3

у меня есть класс, который выглядит примерно так:Fluent NHibernate - привязывать Список <int>

public class User { 
     public virtual int ID; 
     public virtual string Name; 
     public virtual IList<int> userRights; 
} 

I want to make a UserMap : ClassMap<User> 

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

Таблица выглядит

UserTable 
User_id int 
User_Name nvarchar 
User_group int 

UserRights 
User_group int 
RightID int 

Как бы вы карту это?

+0

Собственно, в первый раз, когда я ответил, я понял, что недостаточно внимательно прочитал его. Концептуально у вас также есть что-то, называемое User_group. В NHibernate много-to-* обычно работают с первичным ключом. – Min

ответ

2

Ну, если вам нужен список, вам нужен индекс. Поэтому я бы рекомендовал просто сделать это ICollection, если заказ не является значительным.

отображение должно выглядеть примерно так:

HasMany(x=> x.userRights).Element("RightID").AsBag(); 

Однако при взгляде на ваших столах, я заметил что-то странное. Вы пытаетесь использовать один-ко-многим, не имея первичного ключа в таблице User_Rights. Если вы пользовались User_Id в UserRights, это должно работать.

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

 Смежные вопросы

  • Нет связанных вопросов^_^