这个问题困扰我很长时间了,请大家帮忙解决啊,踊跃发言,我在网上看了好多这样的问题,好像都没有被解决。
没想到Nhibernate这么难,这么多人都不会,期待高手的降临。
6 个解决方案
#1
哥,你来错专区了吧....
#2
不,我是.Net平台下使用Nhibernate架构的,谢谢啊
#3
NHibernate的配置文件贴上来看看,
特别是有没有指明映射的程序集:
<mapping assembly="BlueF_EduSys.Domain"/>
特别是有没有指明映射的程序集:
<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的其他模块了,呵呵呵,大家加油啊!!
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"/>
特别是有没有指明映射的程序集:
<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的其他模块了,呵呵呵,大家加油啊!!
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
学习,学习