ошибка при компиляции - PullRequest
       1

ошибка при компиляции

0 голосов
/ 10 февраля 2011

ошибка в строке: config.AddAssembly ("Hibernatetest");

Сообщение об ошибке: не удалось скомпилировать документ сопоставления: Hibernatetest.Company.hbm.xml

Configuration config = new Configuration();
            ISessionFactory factory;
            config.SetProperty(NHibernate.Cfg.Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider");
            config.SetProperty(NHibernate.Cfg.Environment.Dialect, "NHibernate.Dialect.MsSql2008Dialect");
            config.SetProperty(NHibernate.Cfg.Environment.ConnectionDriver , "NHibernate.Driver.SqlClientDriver");
            config.SetProperty(NHibernate.Cfg.Environment.ConnectionString, "Data Source=(local);Initial Catalog=Chitty;Integrated Security=True");
            config.SetProperty(NHibernate.Cfg.Environment.ProxyFactoryFactoryClass, "NHibernate.ByteCode.Castle.Core.ProxyFactoryFactory ,NHibernate.ByteCode.Castle.Core");
            config.AddAssembly("Hibernatetest");

это xml файл компании

<hibernate-mapping xmlns="urn:nhibernate-mapping-3.0" namespace="Hibernatetest"
assembly="Hibernatetest">
  <class name="Company" table="Company">
    <id name="company_Id">
      <generator class="identity" />
    </id>
    <property name="company_name" type="string" />
    <property name="company_email" type="string"/>
    <property name="company_size" type="string"/>
  </class>
</hibernate-mapping>

помогите пожалуйста

Ответы [ 2 ]

0 голосов
/ 10 февраля 2011

Привет, я не знаю, почему вы поместили свое пространство имен в файл hbm: Hibernatetest.Company.hbm.xml, а также поместили пространство имен в имя класса:

Вот так должно выглядеть:

Company.hbm.xml

и

<hibernate-mapping xmlns="urn:nhibernate-mapping-3.0" namespace="Hibernatetest"
assembly="Hibernatetest">
  <class name="Company" table="Company">
    <id name="company_Id">
      <generator class="identity" />
    </id>
    <property name="company_name" type="string" />
    <property name="company_email" type="string"/>
    <property name="company_size" type="string"/>
  </class>
</hibernate-mapping>

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

0 голосов
/ 10 февраля 2011

Неверное имя класса, запишите имя класса с полным пространством имен (если вы не хотите указывать пространство имен на уровне сопоставления. Неприятная часть - это, безусловно, запятая после Company. И, кстати, если этоне решает, пожалуйста, добавьте также класс в вашем вопросе: выглядит странно, что вы определили класс ac # со свойствами с именем "company_name".

...