NHibernate 1.2到2.0的迁移
时间:2020-03-05 18:43:06 来源:igfitidea点击:
将应用程序从NHibernate 1.2迁移到2.0有哪些注意事项?什么是重大更改与建议的更改?
有映射问题吗?
解决方案
回答
NHibernate 2.0中的重大更改
如果我们具有良好的测试覆盖率,那就很忙。
编辑:我们今天早上升级了。没有什么大不了的。删除后,我们必须Flush()会话。 Expression名称空间已重命名为Criterion。所有这些都在上面的链接中介绍。映射无需更改。这是相当透明的。哦,到处都有交易,但是我们可能已经在这样做了。
顺便说一下,下面是对变化的有趣观察:http://codebetter.com/blogs/patricksmacchia/archive/2008/08/26/nhibernate-2-0-changes-overview.aspx
回答
我在这里找到了答案:
http://blog.domaindotnet.com/2008/08/24/nhibernate-20-gold-released-must-wait-for-linq-to-nhibernate/
从NH1.2.1GA到NH2.0.0的突破性变化
- Nullables.NHibernate不再受支持(使用.NET 2.0的可空类型)
- IInterceptor有其他方法。 (IsUnsaved已重命名为IsTransient)
- 英美战略
- 类型
- IEntityPersister
- IVersionType
- IBatcher
- IUserCollectionType
- IEnhancedUserType
- iPropertyAccessor
- ValueTypeType重命名为PrimitiveType
- 外部框架的可能重大更改
- 各种类在名称空间之间移动
- 各种类已被重命名(以匹配Hibernate 3.2名称)
- ISession接口还有其他方法
- ICacheProvider
- 判别
- CriteriaQueryTranslator
- 初始化时间
- App.config中的<nhibernate>部分不再受支持,将被忽略。现在,配置文件和App.config的配置架构相同,并且App.config节的名称为:<hibernate-configuration>
- <hibernate-configuration>具有不同的架构,所有属性名称均被锁定
- 配置属性不再以hibernate为前缀。如果在指定hibernate.dialect之前,现在仅指定方言
- 所有命名查询将在初始化时进行验证,如果有任何无效查询,则将引发异常(可以根据需要禁用)
- 更严格地检查代理类(所有公共方法必须是虚拟的)
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配
列表数量不匹配