NHibernate Mapping + Iset - PullRequest
       6

NHibernate Mapping + Iset

0 голосов
/ 13 апреля 2010

У меня есть файл сопоставления

<set name="Friends" table="Friends">
  <key column="UserId"/>
  <many-to-many class="User" column="FriendId"/>
</set>

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

Например, Утвердить (пользователь должен подтвердить запрос на добавление в друзья)

Есть ли простой способ?

и обновление

    <?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping namespace="MyVerse.Domain" assembly="MyVerse.Domain" xmlns="urn:nhibernate-mapping-2.2">
  <class name="User" table="[User]" lazy="true">
    <id name="Id" type="Guid">
      <generator class="guid" />
    </id>
    <property name="DateCreated" type="DateTime" not-null="true" />
    <property name="Deleted" type="Boolean" not-null="true" />
    <property name="Firstname" type="String" length="100" not-null="true" />
    <property name="Lastname" type="String" length="100" not-null="true" />
    <bag name="Friends" table="[Friend]">
      <key column="UserId"/>
      <many-to-many class="Friend" column="FriendId"/>

    </bag>

  </class>
  <class name="Friend" table="[Friend]" lazy="true">
    <id name="Id" type="Guid">
      <generator class="guid" />
    </id>
    <property name="DateCreated" type="DateTime" not-null="true" />
    <property name="Approved" type="Boolean" not-null="true" />
  </class>
</hibernate-mapping>

Будет вызывать ссылку на таблицу друзей из таблицы друзей

1 Ответ

1 голос
/ 14 апреля 2010

Если у набора есть «дополнительные свойства», вы должны преобразовать его в правильную сущность.

Итак, User не имеет ISet<User>; у него есть ISet<Friend>.

...