初学Nhibernate,狂报Unknown entity class: BlueF_EduSys.Domain.CUSTOMER

时间:2023-01-12 21:26:42
相应实体配置文件的生成操作已经改为了“签入资源”



这个问题困扰我很长时间了,请大家帮忙解决啊,踊跃发言,我在网上看了好多这样的问题,好像都没有被解决。

没想到Nhibernate这么难,这么多人都不会,期待高手的降临。

6 个解决方案

#1


哥,你来错专区了吧....

#2


不,我是.Net平台下使用Nhibernate架构的,谢谢啊

#3


NHibernate的配置文件贴上来看看,
特别是有没有指明映射的程序集:
<mapping assembly="BlueF_EduSys.Domain"/>

#4


谢谢各位啊,我最后把问题解决了,现在将解决方案公布如下,以便后来之士遇到相同问题能得到解决:
1、Nhibernate的版本问题,Nhibernate的版本问题体现在一下几个方面:
   a、Nhibernate配置文件hibernate.cfg.xml里面标明的版本需要和项目中使用的Nhibernate程序集的版本保持一致,不同版本的配置方法大同小异,只需要更改版本号就可以了。
   b、实例配置文件 "实体名.cfg.xml"里面标明的版本需要和项目中使用的Nhibernate程序集的版本保持一致,不同版本的配置方法大同小异,只需要更改版本号就可以了。
   
2、告诉Nhibernate他应该去哪里加载程序集。为了达到这个目的,可以在Nhibernate配置文件Nhibernate.cfg.xml里面增加<mapping assembly="BlueF_EduSys.Domain"/>,这样Nhibernate自己会去加载这些程序集。
3、实体文件和实体配置文件配置的正确性:
  a、实体配置文件的属性 中的“生成操作”是否改为嵌入文件 。更改方法,选择实体配置文件,右键鼠标,选择属性。在属性窗口里的“生产操作”选择“嵌入资源”。这一点大家都应该知道。
  b、实体类的属性都应该改为virtual,CodeSmith(一个代码生成工具)生成的代码不会为我们生成带virtual的属性,这点需要自己改。
4、注意实体配置文件的命名空间和实体所在程序集不要与实际不对应。因为命名空间的名字是可以和程序集的名字不一样的。

以上几点是对前人总结的补充,希望能够对初学Nhibernate的人一点帮助。配置好了Nhibernate框架是成功的第一步,接下来我们就是要深入学习Nhibernate的其他模块了,呵呵呵,大家加油啊!!

#5


呵呵  还总结了下。 不错不错。

#6


学习,学习

#1


哥,你来错专区了吧....

#2


不,我是.Net平台下使用Nhibernate架构的,谢谢啊

#3


NHibernate的配置文件贴上来看看,
特别是有没有指明映射的程序集:
<mapping assembly="BlueF_EduSys.Domain"/>

#4


谢谢各位啊,我最后把问题解决了,现在将解决方案公布如下,以便后来之士遇到相同问题能得到解决:
1、Nhibernate的版本问题,Nhibernate的版本问题体现在一下几个方面:
   a、Nhibernate配置文件hibernate.cfg.xml里面标明的版本需要和项目中使用的Nhibernate程序集的版本保持一致,不同版本的配置方法大同小异,只需要更改版本号就可以了。
   b、实例配置文件 "实体名.cfg.xml"里面标明的版本需要和项目中使用的Nhibernate程序集的版本保持一致,不同版本的配置方法大同小异,只需要更改版本号就可以了。
   
2、告诉Nhibernate他应该去哪里加载程序集。为了达到这个目的,可以在Nhibernate配置文件Nhibernate.cfg.xml里面增加<mapping assembly="BlueF_EduSys.Domain"/>,这样Nhibernate自己会去加载这些程序集。
3、实体文件和实体配置文件配置的正确性:
  a、实体配置文件的属性 中的“生成操作”是否改为嵌入文件 。更改方法,选择实体配置文件,右键鼠标,选择属性。在属性窗口里的“生产操作”选择“嵌入资源”。这一点大家都应该知道。
  b、实体类的属性都应该改为virtual,CodeSmith(一个代码生成工具)生成的代码不会为我们生成带virtual的属性,这点需要自己改。
4、注意实体配置文件的命名空间和实体所在程序集不要与实际不对应。因为命名空间的名字是可以和程序集的名字不一样的。

以上几点是对前人总结的补充,希望能够对初学Nhibernate的人一点帮助。配置好了Nhibernate框架是成功的第一步,接下来我们就是要深入学习Nhibernate的其他模块了,呵呵呵,大家加油啊!!

#5


呵呵  还总结了下。 不错不错。

#6


学习,学习