迷恋弦哥

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年7月15日

摘要: Using stateless sessions使用无状态会话 当进行大量数据处理的时候,可能会放弃使用一些高级特性,而使用更接近底层的API来提高性能.在NHibernate中,这种高性能的底层API就是无状态的会话.本节介绍如何使用无状态会话来更新movie对象的价格.准备使用第一章的Eg.Core和第二章的Configuring NHibernate with App.config来创建一个控制台应用程序.步骤1. 先创建一些数据,在Main方法中添加下面的代码:View Code using (var session = sessionFactory.OpenStatelessSes. 阅读全文
posted @ 2012-07-15 23:22 迷恋弦哥 阅读(311) 评论(0) 推荐(0)

摘要: Using session.Refresh使用session.Refresh 特别是在桌面应用程序中,重新加载实体以反映她在不同会话中的新进修改,本节介绍如何使用session.Refresh来刷新同时被两个会话使用的实体数据.准备使用第一章的Eg.Core和第二章的Configuring NHibernate with App.config来创建一个控制台应用程序.步骤1. 在Main方法中添加如下代码:View Code var sessionA = sessionFactory.OpenSession();var sessionB = sessionFactory.OpenSessio. 阅读全文
posted @ 2012-07-15 12:55 迷恋弦哥 阅读(250) 评论(0) 推荐(0)

摘要: Using session.Merge使用session.Merge session.Merge可能是NHibernate中最被误解的特性之一.本节介绍如何使用session.Merge将一个脏的独立的实体和一个新的会话合并. 这在从StaleObjectStateExceptions恢复时特别有用.准备 使用第一章的Eg.Core和第二章的Configuring NHibernate with App.config来创建一个控制台应用程序. 步骤1. 在Main方法中添加如下代码:View Code var book = CreateAndSaveBook(sessionFactory).. 阅读全文
posted @ 2012-07-15 11:30 迷恋弦哥 阅读(233) 评论(0) 推荐(0)

摘要: Using the Conversation per Business Transaction pattern使用Conversation per Business Transaction模式 在桌面应用程序中领一个常用的会话管理模式是:Conversation per Business Transaction, 缩写为CpBT. 本节介绍如何使用CpBT的一个实现,该实现来自非官方的开源的NHibernate组件项目.uNhAddIns项目(unofficial NHibernate AddIns project,)最初由NHibernate领导者Fabio Maulo启动,并且由几个知名. 阅读全文
posted @ 2012-07-15 08:37 迷恋弦哥 阅读(413) 评论(0) 推荐(0)

2012年7月14日

摘要: Creating a Transaction ASP.NET MVC action filter使用ASP.NET MVC动作过滤器(action filter)创建事务我们可以将前面小节概念扩展到NHibernate事务.本节介绍如何通过创建一个action filter来管理NHibernate会话和事务.准备完成前面的示例:Creating a Session ASP.NET MVC action filter .步骤1. 添加名为NeedsPersistenceAttribute的类,代码如下:View Code [AttributeUsage(AttributeTargets.Met 阅读全文
posted @ 2012-07-14 21:52 迷恋弦哥 阅读(241) 评论(0) 推荐(0)

2012年7月13日

摘要: Creating a session ASP.NET MVC action filter使用ASP.NET MVC动作过滤器(action filter)创建会话 通常,一个unit of work可以简洁地映射到单个的controller action. 下面介绍在ASP.NET MVC应用程序中如何通过创建一个action filter来管理我们的NHibernate会话.准备为NHibernate创建一个ASP.NET MVC应用程序,步骤如下:1. 创建一个ASP.NET MVC应用程序.2. 添加引用:NHibernate.dll, NHibernate.ByteCode.Cast. 阅读全文
posted @ 2012-07-13 23:39 迷恋弦哥 阅读(349) 评论(0) 推荐(0)

摘要: Setting up session per presentersession-per-presenter模式创建会话 在桌面应用程序中使用MVP(model-view-presenter)模式, 最好每个presenter使用一个会话. 这种方法也适用于model-view-view-model模式.有关这些模式的更多信息请参考http://en.wikipedia.org/wiki/Model-view-presenter. 本节介绍如何使用依赖注入来实现session-per-presenter模式.准备 你将需要下载Ninject,下载地址http://github.com/re... 阅读全文
posted @ 2012-07-13 15:51 迷恋弦哥 阅读(386) 评论(1) 推荐(0)

摘要: Sessions and Transactions会话和事务简介 NHibernate让应用程序来处理会话和事务管理. 有几种不同的方法来处理会话和事务管理, 这些方法很大程度上依赖具体的应用程序架构.除了一些有趣的会话方法 , 本章还介绍:针对不同类型的应用程序如何处理会话和事务.Setting up session per web requestsession-per-request模式构建会话 出于简单性的考虑,在web应用程序中管理NHibernate会话的最常见的模式就是session-per-request. 本节介绍如何使用NHibernate的上下文会话特性来构建该模式.准.. 阅读全文
posted @ 2012-07-13 12:45 迷恋弦哥 阅读(342) 评论(0) 推荐(2)

2012年7月12日

摘要: Using NHibernate Schema Tool使用NHibernate Schema Tool 在许多情况下,一些大的处理过程中需要生成或更新您的数据库.比如一个构建脚本或安装的过程. 本节将介绍如何使用命令行工具来完成我们的hbm2ddl任务.准备 从http://nst.codeplex.com/上可以下载到最新版的NHibernate Schema Tool .安装步骤如下:1. 在C:\Program Files下新建一个名为NHibernateSchemaTool的文件夹.2. 将nst.exe复制到该文件夹.3. 将C:\Program Files\NHibernat.. 阅读全文
posted @ 2012-07-12 11:13 迷恋弦哥 阅读(244) 评论(0) 推荐(0)

2012年7月11日

摘要: Scripting the database创建数据库脚本 应用程序每次运行时都重新创建数据库显然是不妥的. 本节介绍如何创建一个SQL脚本并使用她来创建你的数据库对象.准备1. 完成本章开始部分的Configuring NHibernate with App.config示例.2. 在你的电脑上安装Microsoft SQL Ser ver 2008 Express, 使用默认设置.3. 创建一个名为NHCookbook的空数据库.提示 NHibernate的该项功能对所有的RDBMS适用. 请依据不同的RDBMS来调整dialect和连接字符串设置.步骤1. 打开Program.cs... 阅读全文
posted @ 2012-07-11 16:10 迷恋弦哥 阅读(222) 评论(0) 推荐(0)