问题:我对nhibernate有一个恼人的问题 问题是我无法得到我在网上找到的任何例子...... 我现在已经试了两天......
第一个问题是它不会读取配置文件,因此我不得不将其移至app.config / web.config
第二个问题是无论我做什么,我总会得到一个错误:
没有持久性:NHibernate.Examples.QuickStart.User
我搜索了谷歌,我确实将映射更改为嵌入式ressource,我确实将映射添加到配置文件中,但没有任何帮助......
该示例来自此页面:
https://www.hibernate.org/362.html
我已将我的Visual Studio 2005项目上传到
http://verzend.be/exchange/NhibernateCrap.rar
有人知道我做错了吗?
答案 0 :(得分:3)
以下是我必须修复以使代码正常工作的所有内容:
Configuration.LoadMappingDocument
仅验证映射,但不会将其添加到配置中,即它按照记录的方式工作。它应该有一个更好的名称(如ValidateMapping
或其他东西)。请改用AddFile
,AddDocument
或类似内容,但我建议使用AddAssembly
并将映射作为资源嵌入; <class name="NHibernate.Examples.QuickStart.User, NHibernate.Examples"
时的映射中,逗号后面的部分是程序集名称。它应该是<class name="NHibernate.Examples.QuickStart.User, NHibernateCrap"
,或者您应该更改程序集名称(我建议这样做); <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
为了进一步学习,我建议您阅读Gabriel Schenker的NHibernate tutorials。
答案 1 :(得分:0)
清理命名空间和程序集名称,它可能会起作用。当你的bug存在时,请不要让别人找到你的bug,因为代码很乱。