2012-03-19 1 views
5

Файл НВМ:Элемент 'класс' в пространстве имен 'урну: NHibernate-отображение-2,2' имеет недопустимый дочерний элемент 'свойство'

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> 
    <class name="EMSApplication.Domain.Employee, EMSApplication.Domain" table="ems_Employees" proxy="EMSApplication.Domain.IEmployee, EMSApplication.Domain"> 
    <property name="Username"> 
     <column name="Username" length="40" sql-type="nvarchar" not-null="true" index="Username"/> 
    </property> 
    <property name="Firstname"> 
     <column name="Firstname" length="40" sql-type="nvarchar" not-null="true" index="Firstname"/> 
    </property> 
    </class> 
</hibernate-mapping> 

В Employee.cs:

namespace EMSApplication.Domain { 
    public class Employee : IEmployee { 
    private string username; 
    private string firstname; 

    public virtual string Firstname { 
     get { 
     return firstname; 
     } 
     set { 
     firstname = value; 
     } 
    } 

    public virtual string Username { 
     get { 
     return username; 
     } 
     set { 
     username = value; 
     } 
    } 
    } 
} 

И это IEmployee.cs:

namespace EMSApplication.Domain { 
    interface IEmployee { 
    string Firstname { get; set; } 
    string Username { get; set; } 
    } 
} 

Теперь я получаю исключение:

Элемент 'class' в пространстве имен 'urn: nhibernate-mapping-2.2' имеет Недопустимый дочерний элемент 'property' в пространстве имен 'urn: nhibernate-mapping-2.2'. Список ожидаемых элементов: 'meta, subselect, cache, synchronize, comment, tuplizer, id, composite-id' в пространстве имен 'urn: nhibernate-mapping-2.2'.

Я использую Spring.Net с NHibernate. Вызов файла НВМ:

<object id="NHibernateSessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate32"> 
    <property name="DbProvider" ref="DbProvider"/> 
    <property name="MappingResources"> 
    <list> 
     <value>assembly://EMSApplication/EMSApplication.Domain/EMSApplication.hbm.xml</value> 
    </list> 
    </property> 
    <property name="HibernateProperties"> 
    <dictionary> 
     <entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/> 
     <entry key="dialect" value="NHibernate.Dialect.MsSql2008Dialect"/> 
     <entry key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/> 
     <entry key="proxyfactory.factory_class" value="NHibernate.Bytecode.DefaultProxyFactoryFactory, NHibernate"/> 
     <entry key="show_sql" value="true"/> 
     <entry key="hbm2ddl.auto" value="update"/> 
     <entry key="cache.use_query_cache" value="true"/> 
    </dictionary> 
    </property> 

    <property name="ExposeTransactionAwareSessionFactory" value="true" /> 
</object> 

Структура проекта:

enter image description here

Любая помощь будет очень полезно.

Спасибо.

ответ

11

Вам не нужен элемент id, который приходит ко всем свойствам схемы.

+0

Уверен, отсутствовал элемент ID и свойство в моем классе. Ty! – SushiGuy

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

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