显示标签为“NHibernate”的博文。显示所有博文
显示标签为“NHibernate”的博文。显示所有博文

2014年1月3日星期五

NHibernate初学者指南(21):开发中常见的错误(二)

使用一个模型读写操作

NHibernate初学者指南(3):创建Model 中我们已经介绍了一个域模型的概念。在后面文章的例子中也都使用了这个域读写以及更新数据。只要该域的复杂性有限或者我们构建的解决方案纯粹是一个forms-over-data类型的应用,这都是有意义的。

NHibernate初学者指南(20):开发中常见的错误(一)

本篇以及下一篇讨论开发人员在使用NHibernate开发中常见的一些错误。

NHibernate初学者指南(19):验证复杂业务规则

验证复杂的业务规则,只使用特性是不够的。这种情况下,我们需要其他的办法。

NHibernate初学者指南(18):验证单个属性

表示层简单的验证,我们可以使用基于对象属性内容的验证。在NHibernate Contributions中有一个可用的项目NHibernate.Validator。可以通过SVN下载NHibernate Contribution项目的源代码:地址是https://nhcontrib.svn.sourceforge.net,也可以通过NuGet获得。

NHibernate初学者指南(17):查询的其他知识点

本篇包括以下几个知识点:
  • Hibernate查询语言(HQL)
  • 延迟加载属性
  • 批量执行多个查询
  • 预先加载和延迟加载比较
  • 批量数据修改

NHibernate初学者指南(16):条件查询

非类型化的条件查询

我们从定义条件查询的根开始,代码如下所示:
var query = session.CreateCriteria<Product>();

NHibernate初学者指南(15):使用LINQ to NHibernate提供程序查询数据

在前面的《NHibernate初学者指南(8):增删查改》一文中简单的提到了查询一个实体的Get<T>和Load<T>方法以及查询实体列表的Query<T>方法,这篇文章我们进一步讲解查询的有关方面。

NHibernate初学者指南(14):配置的三种方式

XML配置

配置NHibernate最初是通过XML。我们有两种方式可以定义配置,一种是Windows应用程序的应用程序配置文件,另一种是基于web的应用程序的Web.config文件。我们也可以在单独的XML文件中定义配置。

NHibernate初学者指南(13):监测与分析

一旦程序完成,在测试或实际的环境中运行,我们可能想或者需要监测它。有下面几种方法可以监测数据库和应用程序的通信:分析日志文件、使用SQL Server Profiler、使用NHibernate Profiler。下面让我们一一的看看它们吧。

NHibernate初学者指南(12):日志

几乎所有的程序都需要日志记录功能。目前为止,已经存在很多提供日志记录功能的框架,我们没必要自己实现,只需要使用它们中的一个即可。.NET中最知名和成熟的日志记录框架是Log4Net。这是一个开源框架,由NHibernate使用。

NHibernate初学者指南(11):测试

准备测试环境

单元测试通常由三个部分组成:
Arrange – 为测试准备或设置边界条件
Act – 执行操作
Assert — 验证是否是预期的结果

NHibernate初学者指南(10):一级和二级缓存

一级缓存

为了获得更好的性能,NHibernate智能地缓存数据。NHibernate有不同的缓存机制起作用,最重要的就是一级缓存。每个session对象维持一个一级缓存,session对象创建时缓存创建,session对象释放时缓存销毁。

NHibernate初学者指南(9):会话管理(附实例)

进行.NET开发,你可能已经接触到下面的一种或几种类型的应用程序:
1. 基于Web的应用程序,包括Silverlight。 
2. WinForm或WPF应用程序 
3. Windows服务。

NHibernate初学者指南(8):增删查改

在开始之前有必要说一下会话(session)事务(transaction)

session和transaction是什么

session和transaction是NHibernate提供的最重要的两个对象。通过session对象,可以与数据库进行通信以及执行各种操作。transaction对象为我们提供了一个工具,允许以一个单元管理多个操作。

NHibernate初学者指南(7):映射模型到数据库之方式三

XML映射

在VS中为NHibernate映射文件添加智能感知能力,需要添加.xsd文件。在项目中创建一个解决方案文件夹,名为Schema,添加两个XML schema定义文件:nhibernate-configuration.xsd和nhibernate-mapping.xsd到这个文件夹,如下图:

NHibernate初学者指南(6):映射模型到数据库之方式二

使用Fluent NHibernate自动映射

使用Fluent NHibernate自动映射,首先要将映射的实体放到一个命名空间中,这使得通知AutoMapper哪些实体和值对象包含在映射中更容易。建议在你的项目中创建一个Domain文件夹,将需要映射的实体和值对象放到这个文件夹中。

NHibernate初学者指南(5):映射模型到数据库之方式一

映射类型

当使用Nhibernate作为我们的ORM框架时,有四种主要的映射类型:
  1. 基于XML的映射。
  2. 基于特性的映射。
  3. Fluent映射。
  4. 基于约定的映射,有时也称为自动映射。
在接下来的三篇文章里,将详细讲解除“基于特性映射”以外的映射类型。

NHibernate初学者指南(4):定义数据库架构

一些基本知识

本篇文章的目的是创建一个匹配我们模型的数据库,对于其中涉及到的一些数据库的知识就不再赘述。我简单的列一些涉及到的知识吧:
  • 如何在SSMS中创建数据库
  • 使用可视化和脚本创建数据表
  • 数据库中的数据类型
  • 关系(一对多,一对一,多对多)
  • 约束(非空约束,唯一约束,主键约束,检查约束,外键约束)
  • 索引
  • 数据库三范式
大概就涉及到这些知识吧,任何一本数据库的书上都有对以上知识的详细讲解。下面我们就一步一步完成数据库的设计。

NHibernate初学者指南(3):创建Model

什么是Model

我这里简单的用一句话概括什么是model:
model是对现实的描述,它可以被开发人员、业务分析师、客户所理解,它不是UML图或者其他任何以开发者为中心描述domain的方式。

NHibernate初学者指南(2):一个完整的例子

准备开发环境

操作系统:Windows Vista, Windows 7, Windows Server 2003 或 Windows Server 2008
IDE:VS 2010 Professional, VS C# 2010 Express 或 VS Basic 2010 Express