Nhibernate引发错误,没有针对以下对象的持久化程序:
映射文件:Nhibernate引发错误,没有针对以下对象的持久化程序:,nhibernate,Nhibernate,映射文件: <?xml version="1.0"?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true"> <class name="PlayHibernate.Employee, PlayHibernate" lazy="false"> <id name="id" access="field"> <
<?xml version="1.0"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true">
<class name="PlayHibernate.Employee, PlayHibernate" lazy="false">
<id name="id" access="field">
<generator class="native"/>
</id>
<property name="name" access="field" column="name"/>
<many-to-one access="field" name="manager" column="manager" cascade="all"/>
</class>
</hibernate-mapping>
我尝试将映射文件设置为资源,但这只会将错误消息更改为
“未处理的异常:NHibernate.MappingException:PlayHibernate.Employee.hbm.xml
(5,31):XML验证错误:命名空间“urn:nhibernate mapp”中的元素“id”
ing-2.2'不能包含文本。-->System.Xml.Schema.XmlSchemaValidationExceptio
n:命名空间“urn:nhibernate-mapping-2.2”中的元素“id”不能包含tex
t、 “第一个错误“没有针对…”的持久化程序”是由于没有将映射文件设置为嵌入式资源
当前错误与您的id
定义有关。看起来您的
定义中有一些文本。也许是一些不允许的空白?试着把它写成:
<id name="id" access="field" column="uid" generator="native" />
此外,如果这没有帮助,请尝试使用id以外的其他名称作为字段名。可能Id
第一个错误“没有用于…”的持久器”是由于没有将映射文件设置为嵌入式资源
当前错误与您的id
定义有关。看起来您的
定义中有一些文本。也许是一些不允许的空白?试着把它写成:
<id name="id" access="field" column="uid" generator="native" />
此外,如果这没有帮助,请尝试使用id以外的其他名称作为字段名。在visual studio中,请记住将.hbm.xml文件的属性“Compilation action”更改为:“Embedded resource”在visual studio中,请记住将.hbm.xml文件的属性“Compilation action”更改为:“Embedded resource”字段名不应该是问题。空白?我不知道。我猜他错过了一个
,非常感谢你指出错误“No persister for”是因为我的映射文件不是嵌入式资源。解决了我很久以来遇到的问题。字段名应该不是问题。空白?我不知道。我猜他错过了一个,非常感谢你指出错误“No persister for”是因为我的映射文件不是嵌入式资源。解决了我一直存在的问题。