странный DuplicateMappingException - PullRequest
0 голосов
/ 31 марта 2011

У меня есть два класса:

namespace fm.web
{
  public class User
  {
    public static string default_username = "guest";
    public static string default_password = "guest";

    private UserType usertype;

    public virtual int? Id { get; set; }
    public virtual string Username { get; set; }
    public virtual string Password { get; set; }
    public virtual DateTime Datecreated { get; set; }
    public virtual string Firstname { get; set; }
    public virtual string Lastname { get; set; }
    public virtual string Email { get; set; }
    public virtual UserType Usertype
    {
      get { return usertype; }
      set { usertype = value; }
    }    
  }
}

namespace fm.web
{
    public class UserType
    {
        public virtual int? Id { get; set; }
        public virtual string Title { get; set; }
    }
}

Вот файлы сопоставления

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   namespace="fm.web"
                   assembly="fm.web">
  <class name="User" table="[user]">
    <id name="Id">
      <column name="id" />
      <generator class="native" />
    </id>
    <property name="Username" />
    <property name="Password" />
    <property name="Datecreated" />
    <many-to-one name="Usertype"
                 class="UserType"
                 column="[type]"
                 cascade="all"
                 lazy="false"
                 />
    <property name="Firstname" />
    <property name="Lastname" />
    <property name="Email" />
  </class>
</hibernate-mapping>

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   namespace="fm.web"
                   assembly="fm.web">
  <class name="UserType" table="[user_type]">
    <id name="Id">
      <column name="id" />
      <generator class="native" />
    </id>
    <property name="Title" />
  </class>

</hibernate-mapping>

Я получаю исключение: DuplicateMappingException

Не удалось скомпилировать документ сопоставления: fm.web.data.User.hbm.xml

Повторяющееся сопоставление класса / сущности Пользователь

nhibernate всегда так сложно? Может быть, мне нужен другой каркас.

1 Ответ

0 голосов
/ 31 марта 2011

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

Пожалуйста, проверьте, что BuildSessionFactory вызывается только один раз при запуске приложения. Также, пожалуйста, убедитесь, что вы не включаете файлы сопоставления дважды, поскольку это также приведет к появлению этого типа ошибки.

Пожалуйста, оставьте свой код конфигурации.

Вы правы, считая, что NHibernate трудно понять новичкам, особенно управление сеансами и сопоставления. Как только вы поймете это, все станет проще и стоит усилий.

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