摘要:
一级缓存为了获得更好的性能,NHibernate智能地缓存数据。NHibernate有不同的缓存机制起作用,最重要的就是一级缓存。每个session对象维持一个一级缓存,session对象创建时缓存创建,session对象释放时缓存销毁。缓存只不过是一个哈希表。哈希表根据唯一键存储值,值可以根据唯一键检索。一个实体由它的ID唯一标识,如果两个实体类型相同,ID也相等,那么这两个实体是相等的。NHibernate要求两个相同类型的对象不能有相同的ID。原因是,如果允许系统有相同ID的两个实例,那么就会将系统置于不一致的状态中。有了这个条件,NHibernate就可以执行下面的操作了:NHiber 阅读全文
摘要:
进行.NET开发,你可能已经接触到下面的一种或几种类型的应用程序:1. 基于Web的应用程序,包括Silverlight。 2. WinForm或WPF应用程序 3. Windows服务。当然,还有很多其他类型的应用程序,但是它们使用NHibernate会话管理的方法和上面三种类型的程序相同。本篇文章,我们创建一个简单的Silverlight应用程序实现基本的会话管理。Silverlight是基于Web的应用程序,所以这里用到的技术也同样适用于其他类型的web程序(ASP.NET MVC或WebForms)。1. 在SSMS中新建一个数据库:SilverlightSample。2. 打开VS, 阅读全文
摘要:
这篇文章介绍Code First开发以及如何与DbContext API一起使用。Code First允许使用C#或VB.NET类定义模型,在类或属性上有选择性的执行额外的配置或者使用Fluent API。模型可用于生成数据库架构或映射现有的数据库。本次演示需要安装Visual Studio 2010。映射现有数据库本次演示将展示Code First生成数据库架构,但同样适用于映射现有数据库,除了... 阅读全文