2012-03-19 18 views
5

HBMファイルは次のとおりです。要素の名前空間の 'クラス' 'URN: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

関連する問題