随笔分类 - nhibernate
摘要:回顾 上一篇对模式进行了介绍,并基于ADO.NET进行了实现,虽然现在ORM框架越来越流行,但是很多中小型的公司仍然是使用ADO.NET来进行数据库操作的,随着项目的需求不断增加,业务不断变化,ADO.NET的实现方式,会使原先简单的单表操作变得尤为复杂,特别是数据库表发生改变的情况下,无法像OR...
阅读全文
摘要:回顾 上一篇我们根据工作单元的原理基于ADO.NET进行了简单的实现,但是当项目需求发生变化的时候,比如需要引入ORM框架又要兼容当前ADO.NET实现的方式时,先前的实现就无法满足这个需求了。 话就不多说了,我们就跟据当前的需求变化来重构工作单元吧。重构UnitOfWork 首先我们看看原先...
阅读全文
摘要:1、Found Two representations of same collection解决:将包含该对象的主档内的相应集合对象设置为null2、identifierof an instance of。。解决:清除缓存后再对主档的Sq进行编辑3、object refences an unsaved transient instance - save this .....原因:可能是因为在<mang-to-one>中配置了not-found="ignore"属性,而引发新增时,外联表对象不属于持久化对象解决:将主档所对应的外联表对象设置为null4、Unexp
阅读全文
摘要:在使用NHibernate为页面数据控件绑定数据时,出现如下提示:“未为能加载视图状态,正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。”发生以上错误的主要是问题是在绑定数据的时候,如以下代码:<%# Eval("xxx表.xxx字段")%> 因为有NHibernate的存在,以上Eval会触发NHibernate的延迟加载,然而当数据库中不存在对应的表数据的时候,就会产生这个错误。 如果要解决以上的问题的话,可以在<many-to-one>的配置当中加入属性not-fount="ignore"这样
阅读全文