随笔分类 -  NHibernate

摘要:在ASP.NET中,对于实体类的id生成策略,有时候我们会选择Guid,作为业务实体的主键值。在Oracle数据库中,对应的数据类型是raw(16),这个时候,我们可以通过如下代码,将Guid转换成类型Raw。 1 BitConverter.ToString((Guid.NewGuid().ToBy 阅读全文
posted @ 2020-08-12 00:15 一生安然 阅读(790) 评论(1) 推荐(0)
摘要:今天看NHibernate文档,发现了NHibernate提供批量操作数据的支持,目前仅支持sql server和Oracle,果断要试试啊。结果发现,竟然批量插入Oracle数据无效。以下是我的hbm配置文件内容。 1 <hibernate-configuration xmlns="urn:nhi 阅读全文
posted @ 2020-07-28 12:09 一生安然 阅读(428) 评论(0) 推荐(0)
摘要:一。Load方法 Load()方法可以对查询方法进行优化 Load()方法实际得到的是一个proxy对象,并没立即查询数据库,只有对对象的属性进行访问时,才查询数据库。在NHibernate中,被称为Laze Loading(延迟加载) Load()方法得到的对象,如果对象不存在,访问对象的属性,会 阅读全文
posted @ 2020-07-27 23:43 一生安然 阅读(166) 评论(0) 推荐(0)
摘要:对于web和企业来说,跨用户交互过程的数据事务是不可接受的。单一的应用事务中可能会跨多个数据库事务。如果这些数据库事务只有一个(最后一个)进行了更新数据,其他的只是简单的读数据,则这个应用事务就是原子性的。如果出现多个用户同时写入了一条数据,最后结果是不确定的。如果多个用户删除了同一条数据,就会异常 阅读全文
posted @ 2020-07-27 23:15 一生安然 阅读(125) 评论(0) 推荐(0)
摘要:在NHibernata中,提供了l缓存机制。Clear和Flush都是针对session缓存(一级缓存)中的数据。无论还是load()还是get(),都是先查询缓存(一级缓存),没有再查询数据库。如下代码,执行了同一个id的2次查询,但是执行了一次sql的查询。 1 using (ITransact 阅读全文
posted @ 2020-07-24 00:39 一生安然 阅读(587) 评论(0) 推荐(0)
摘要:在说明什么是POCO类之前,首先要说明的概念就是,什么是持久化类? 一。持久化类 在应用程序中,实现业务问题的的实体就是持久化类。但是不能认为持久化类的实例都是持久化的,它也可以是脱管状态或瞬时状态。 二。POCO类(Plain Old CLR Object) 如果这些持久化类遵循一些简单的规则,N 阅读全文
posted @ 2020-07-23 07:41 一生安然 阅读(1857) 评论(0) 推荐(1)
摘要:在N'hibnate中,提供了多种查询方法。这里主要介绍两种:HQl查询和SQl查询。 一。Nhibnate支持的HQl查询方式。例如句:select h.SeqId from LeaseUser。该查询语句中,LeaseUser是实体对象,而SeqId是实体中的属性。因为查询对象是实体,所以可以直 阅读全文
posted @ 2020-07-22 22:39 一生安然 阅读(845) 评论(0) 推荐(0)
摘要:在使用NHiberanter,创建一个session上下文,进行语句执行时,出现了标题所示错误。控制台调用代码如下: public static void Main(string[] args) { //NHibernateProfiler程序分析初始化 //HibernatingRhinos.Pr 阅读全文
posted @ 2020-07-22 11:54 一生安然 阅读(766) 评论(0) 推荐(0)