C# 元素';类别';在命名空间中';urn:nhibernate-mapping-2.2';具有无效的子元素';财产';
hbm文件是:C# 元素';类别';在命名空间中';urn:nhibernate-mapping-2.2';具有无效的子元素';财产';,c#,nhibernate,hbm,C#,Nhibernate,Hbm,hbm文件是: <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
<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>
<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>
这是IEEMPLOYEE.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; }
}
}
现在我得到了一个例外:
命名空间“urn:nhibernate-mapping-2.2”中的元素“class”已
命名空间中的子元素“属性”无效
“urn:nhibernate-mapping-2.2”。预期可能的要素清单:
'元,子选择,缓存,同步,注释,元组化,id,
命名空间“urn:nhibernate-mapping-2.2”中的复合id为“”
我正在将Spring.Net与NHibernate一起使用。hbm文件的调用是:
<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>
<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>
assembly://EMSApplication/EMSApplication.Domain/EMSApplication.hbm.xml
项目结构为:
任何帮助都会很有帮助
谢谢。您缺少了
id
元素,它位于架构中所有属性之前。我的类中确实缺少id元素和属性。泰!