2012-03-19 5 views
5

HBM의 파일이 있습니다요소 네임 스페이스에서 '클래스' '항아리 : 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; 
     } 
    } 
    } 
} 

: 지금은 예외를 얻고있다

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

: 그리고 이것은 IEmployee.cs입니다

네임 스페이스 'urn : nhibernate-mapping-2.2'의 'class'요소에 'urn : nhibernate-mapping-2.2'의 자식 요소 'property'가 유효하지 않습니다. 예상되는 요소 목록 : 네임 스페이스 'urn : nhibernate-mapping-2.2'의 'meta, subselect, cache, synchronize, comment, tuplizer, id, composite-id'

저는 NHibernate에서 Spring.Net을 사용하고 있습니다. HBM 파일의 호출은 다음과 같습니다

<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 요소와 속성이 누락되었습니다. 타이! – SushiGuy