NHibernate.DuplicateMappingException 错误导致NUnit测试时无法自动生成数据库表的问题

NUnit测试时错误提示:

MainTest.MainInit.Init:
NHibernate.MappingException : Could not compile the mapping document: Com.Res.DishEditor.Domain.Dish.hbm.xml
  ----> NHibernate.DuplicateMappingException : Duplicate class/entity mapping Com.Res.DishEditor.Domain.Dish

原因:

  我在Domain中有一个Dish.cs类,其中定义了一个字段名为Index用来表示排序,结果可能是这个Index跟NHibernate或者.Net4底层代码有冲突,改了名字如Index11,或者SeqNo后能够顺利生成数据库表文件了。

附:其它一些可能引发此问题的原因

  1、hibernate.cfg.xml配置文件错误:<mapping assembly="NHibernateSample.Domain"/>
  2、Product.hbm.xml映射文件生成操作应为:嵌入的资源
  3、Product.hbm.xml映射文件命名错了。少了.hbm

 

 

posted @ 2013-08-08 17:43  yfy_47  阅读(308)  评论(0编辑  收藏  举报