<?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="DDD.Model.Shipping" assembly="DDD.Model"> <class name="Order" table="tbOrder" lazy="false" > ... </class> </hibernate-mapping>
试试这样设置,还有你的Mapping目录跟SessionFactory是否在同一项目
您好,您这样我也是设置了的。不在同一个项目内。在调试的时候抛出了好几个异常。无法加载Nhibernate.XmlSerializers。无法加载WSC.Data中的类。
@FFFZZZXXX: 那你所有的 ClassName.hbm.xml文件(必须是嵌入式文件)都在哪?
@Yu: 我已经弄为嵌入式文件,,我看别人的项目,不需要设置嵌入式的,也是和sessionfactory分开的。都能用,所以先不弄了,用回ADO。把分给你吧,谢谢了。弄了一个星期都没映射出来。
@FFFZZZXXX: 你所有的classname.hbm.xml应该都在 WSC.Data.WSC_Test.hbm目录下,只是它们找不到对应的class,找找WSC.Data.WSC_Test目录下的classname是否对应
@Yu:恩恩。是的。都在你说的目录下而且都是对应的。找应该是找到了的。因为如果我所有的hbm文件都不设置为嵌入的资源的时候,就不报错,但是我只设置了其中一个为嵌入的资源。就抛异常的
@FFFZZZXXX: 报上面图的错?那你再把详细错误信息贴出来
@FFFZZZXXX: 不然就是你sessionfactory所在项目没有引用WSC.Data.dll
@Yu: 引用是有的呢。
@FFFZZZXXX: 可能Temporary ASP.NET Files没能把所需dll复制过来,你看看权限,或者你新建个console 程序试试
@FFFZZZXXX: 你按这个例子做一下
http://stackoverflow.com/questions/14214902/nhibernate-mappingexception-could-not-compile-the-mapping-document