NHibernate 缓存 NHibernate 支持两种级别的缓存, 即一级缓存以及二级缓存。...NHibernate 的二级缓存是可以扩展的, NHibernate.ControlLib 提供了几个实现, 分别适用于不同的场景: NHibernate.Caches.MemCache NHibernate.Caches.Prevalence...NHibernate.Caches.SharedCache NHibernate.Caches.SysCache NHibernate.Caches.SysCache2 NHibernate.Caches.Velocity...[Categories] category0_ 3、 测试 Linq 查询: [Test] public void TestLinqQuery() { using (var session = this...以上是在项目中用到的二级缓存相关知识的整理, 肯定不完整, NHibernate 的缓存还有更多的地方需要挖掘。
今天说一说Nhibernate_nhibernate与ef区别,希望能够帮助大家进步!!! 什么是NHibernate?...Net类中的属性,column属性值就是在数据库中与'Net类属性对应的字段名.type属性是可选的(如果你没有标明,NH会给出一个最适合的),但是推荐的做法是带上这个属性.hibernate用户会注意到,...Tip:如果你使用vs.net编译,设置Build Action,把User.hbm.xml文件作为资源绑定到Asssembly,这样映射文件就成了Asssembly的一部分了.后面我们会明白这个步骤的重要性...ISession对象代表着一个到后端数据库连接,ITransaction代表一个NHibernate管理的事务(Transaction)....更好的是,你可以从数据库中查询到一个System.Collections.IList: IList userList = session.CreateCriteria(typeof(User)).List
LINQ是微软将在C# 3.0中将推出的语言集成查询技术,许多人也将LINQ叫做微软的ORM。LINQ不仅仅针对关系数据库,它只是解决一个问题Data!...在Linq之前在.net领域最流行的框架就是Nhibernate。是不是在LINQ之后Nhibernate就要消失呢?答案自然是否定的。...这里有个帖子Microsoft LINQ + NHibernate: 在那篇帖子中,作者列举了三大原因: 在DLINQ中,虽然可以在语言层级定义查询逻辑。...而LINQ + NHibernate的好处则是: 类型安全的查询,并且能使用智能提示功能!这样可以不用学习HQL了。 能获得所有NHibernate所拥有的能力。...这个项目也包含着上面所说的NHibernate.Linq. Implementing Linq for NHibernate: A How To Guide - Part 1
NHibernate 支持两种级别的缓存, 即一级缓存以及二级缓存。...NHibernate 的二级缓存是可以扩展的, NHibernate.ControlLib 提供了几个实现, 分别适用于不同的场景: NHibernate.Caches.MemCache NHibernate.Caches.Prevalence...NHibernate.Caches.SharedCache NHibernate.Caches.SysCache NHibernate.Caches.SysCache2 NHibernate.Caches.Velocity...[Categories] category0_ 3、 测试 Linq 查询: [Test] public void TestLinqQuery() { using (var session =...以上是在项目中用到的二级缓存相关知识的整理, 肯定不完整, NHibernate 的缓存还有更多的地方需要挖掘。
转载:http://www.cnblogs.com/tenghoo/archive/2011/02/14/1954393.html NHibernate专题:http://kb.cnblogs.com/...zt/nhibernate/ NHibernate官方站点:http://nhforge.org/ NHibernate参考文档:http://nhforge.org/doc/nh/en/ 获取NHibernate...地址:http://sourceforge.net/projects/nhibernate/ public IList GetUserOrderByUserID(string userid...long.TryParse(obj.ToString(), out count); var list = from p in _session.Linq...分页的测试 http://www.cnblogs.com/chenyt/archive/2010/12/04/nhibernate.html
一、NHibernate简介 在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的。NHibernate是一个面向.Net环境的对象/关系数据库映射工具。...由此可见,NHibernate不仅仅管理.Net类到数据库表的映射,还提供数据查询和获取数据的方法。因此采用NHibernate,可以大幅度减少开发时人工使用SQL处理数据的时间。...二、NHibernate使用步骤 1.为系统引入NHibernate的库,并且配置NHibernate; 2.新建一个将要持久化.Net对象的表; 3.构建一个需要被持久化的.Net类; 4.构建一个可以让...NHibernate知道如何完成ORM映射的XML文件; 5.使用NHibernate的API来编程 三、NHibernate的使用 1....使用NHibernate的API进行编程 数据库编程不外乎“添加”、“删除”、“更新”,看看NHibernate是如何实现这三种操作吧。
准备工作: 需要使用.NET Framework 2.0或上以版本的框架,准备NHibernate框架,本文使用3.3版,到目前NHibernate都还是基于.net framework 2.0,官方下载地址...using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace NHibernateDemo.WebUI...元数据包含持久化类的声明和属性到数据库的映射。该文件将POPO类型与数据表进行映射。User.hbm.xml内容如下所示。 <?xml version="1.0" encoding="utf-8" ?...NHibernateHelper.cs如下所示: using System; using System.Collections.Generic; using System.Linq; using System.Web... } } 6、编写数据库访问层代码,UsersDAL.cs代码如下: using System; using System.Collections.Generic; using System.Linq
NHibernate对数据库结构提供了较为完整的封装,NHibernate的O/R Mapping实现了PO 和数据库表之间的映射,以及SQL 的自动生成和执行。...程序员往往只需定义好了PO 到数据库表的映射关系,即可通过NHibernate提供的方法完成持久层操作。...使用IbatisNet提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的DotNet对象,这一层与通过NHibernate实现ORM 而言基本一致,而对于具体的数据操作,NHibernate会自动生成...同样的需求 ,IbatisNet 的工作量比 NHibernate 要大很多。...类似的,如果涉及到数据库字段的修改, NHibernate 修改的地方很少,而 IbatisNet 要把那些 sql mapping 的地方一一修改。 6 .
什么是NHibernate: NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库。...Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具。 NHibernate 从数据库底层来持久化你的.Net 对象到关系型数据库。...DATABASE “NHibernate” GO CREATE DATABASE “NHibernate” GO use NHibernate go CREATE TABLE...我们映射属性到目标数据库的字段。 内嵌的generator 标签告诉NHibernate 如何生成主键(它将恰当的为你生成主键,不管你指定何种类型,但你必须告诉它)。...;initial catalog=nhibernate;Integrated Security=SSPI” /> nhibernate> <!
现在的项目中数据访问使用的是NHibernate的一个ORM框架,小弟也是在后期加入项目组,之前对NHibernate就一直没有接触过,所以一直在学习NHibernate,都是一些很基础的一些东西,写出来总结一下...NHibernate不仅仅管理.NET 类到数据库表的映射(包括.NET 数据类型到SQL 数据类型的映射),还提供数据查询和获取数据的方法,大幅度减少我们开发时人工使用SQL和ADO.NET处理数据的时间... 注意:XML文件的默认“复制到输出目录”为“不复制”,这里需要修改为“始终复制”。...这正是NHibernate映射文件发挥作用的地方。映射文件包含了对象/关系映射所需的元数据。元数据包含持久化类的声明和属性到数据库的映射。...dt.ToList(); } } 4、测试 在NHibernateSample中引用NH.Data.dll 把NH.Data中的DBConnect.cfg.xml文件copy到NHibernateSample
连贯NHibernate(Fluent NHibernate) 是通过编程方式而不是使用XML配置文件创建NHibernate映射的API。...连贯NHibernate降低了复杂性,并进一步加强了约定胜于配置的原则,即任何一个映射的最常用设置是默认的。 除了编译时的检查外连贯NHibernate还为你的映射的测试提供了一个健壮的API。...Wiki上有教程告诉怎么用,园子里的inday的几篇文章可以先看一下: [原创]Fluent NHibernate之旅 [原创]Fluent NHibernate之旅二--Entity Mapping...[原创]Fluent NHibernate之旅(三)—继承 codeproject上也有一篇针对RC的文章:Fluent NHibernate and Linq2NHibernate – Demo Project...,不过RC到RTM没有特别的变化,主要是一些bug的修复。
好了表建好之后,我们开始使用很简单很简单一个C#连接MySql数据库的代码 using System; using System.Collections.Generic; using System.Linq...using FluentNHibernate.Mapping; using System; using System.Collections.Generic; using System.Linq...System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks...的类,用来进行增删改查操作,代码如下: 实现查询表中所有姓名的操作: using System; using System.Collections.Generic; using System.Linq...foreach(APengChao cp in apc) { Console.WriteLine(cp.Name);//输出查询到的所有表中元素的名字
ORM大家都非常熟悉了吧,我相信也有很多朋友正在用自己或者一些公开的框架,而最常用而且强大的,非Hibernate了(Net中为NHibernate),网上的文档非常多,不过在博客园中,介绍NHibernate...,废话不说了,下面就介绍Fluent NHibernate,大家也一起来体验一下Fluent Nhibernate的快感吧。...4、灵活的Fluent 一、初识Fluent NHibernate(简称Fluent) Fluent NHibernate offers an alternative to NHibernate's...因为Fluent是基于NHibernate的,它只实现了NHibernate的Mapping功能,其他功能还不能代替,所以我们的项目中要同时引入NHibernate和FluentNHibernate两个类库...文章写得很烂,也当是笔记吧,NHibernate也是刚刚学,惭愧惭愧,学的不是很彻底,今后也会结合NHibernate的学习一起来说。
NHibernate实践与模式 NHibernate是一款非常优秀的O/R mapping的开源框架,再还没有.net的时候它已经存在于java环境中。...开发环境 Vs.net 2005, NHibernate 1.20(正是版),MyGeneration 1.3。...当然还有很多NHibernate的开发框架大家可以在www.codeproject.com,www.codeplex.com上找到。...然后再去创建数据库表,和UI的部分; 我还是按在有数据表的情况下如何用NHibernate作开发 1.用MyGeneration创建实体类和mapping文件选择NHibernate lujan99 1.06...接下去网上下载几个通用的类库文件包括配置文件NHibernateSessionManager.cs(用来创建session和管理session), NHibernateSessionModule.cs(将session绑定到每个
Linq查询知识点详解 Linq标准查询语法格式 var data = from 变量 in 集合对象 where 布尔表达式 orderby 排序字段 descending...使用Linq进行数据查询的条件 数据源(in 后面的集合对象)必须直接或间接继承自IEnumerable 或者说:只要数据源继承自IEnumerable,我们就可以使用Linq从它里面检索数据...区别:当没有从集合中筛选到满足的条件的元素时,First将会报错,FirstOrDefault则不会报错. ? Average()方法 该方法用于计算平均值 ?...Linq的联合查询 将两个集合进行关联,然后从这两个集合中提取所需要的数据....其他: 在进行数据查询时,.net framework为我们提供了2套方案: 一种是使用标准的linq查询语法=> (from\in\select\where\orderby\ascdening\descending
代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using MyWeb.WebTemp.Model...在MyWeb.WebTemp.HibernateDao项目中添加类文件:UserDaoHibernate.cs 在编写代码之前,我们首先要引入spring.net和Nhibernate的支持类库。...代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Spring.Data.NHibernate.Generic.Support...; using Spring.Data.NHibernate.Generic; using SpringHiberate.dao.model; using NHibernate; using MyWeb.WebTemp.IDao...看代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using MyWeb.WebTemp.IBLL
学习和使用Nhibernate已经很久了,一直想写点东西和大家一起学习使用Nhibernate。博客园里也有很多大牛写了很多关于Nhibernate入门的文章。...本篇文章阅读对象是:Nhibernate初学者!如果你是Nhibernate的研究者或者已经很熟练的运用Nhibernate请不吝赐教,对本文不足之处进行指教。 带着问题去学习!...学完这些后,希望你能回答下面几个问题: 1、Nhibernate是什么? 2、Nhibernate能做什么?带给我们的什么? ...3、怎么搭建Nhibernate? 4、怎么使用Nhibernate? 好,我们就带着这几个问题开始我们的Nhibernate的旅程。 ...代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace
NHibernate Contrib Best Practice 介绍 NHibernate Contrib(Burrow)是一个轻量级的开发中间件,底层使用Nhibernate 2.0GA(Nhibernate...Burrow提供了智能化的状态,会话,使管理,事务让你更方便的使用Nhibernate进行.net应用程序的开发。..." type="NHibernate.Burrow.Configuration.NHibernateBurrowCfgSection" /> NHibernate.Burrow...type="NHibernate.Burrow.WebUtil.WebUtilHTTPModule,NHibernate.Burrow.WebUtil"/> NHibernate.Burrow.Configuration.NHibernateBurrowCfgSection" /> NHibernate.Burrow
NHibernate 使用 SqlQuery 多数情况下, NHibernate 提供的 HQL、 Linq 以及条件查询足够用了, 但是在某些情况下, 需要使用 SqlQuery, 使用 SqlQuery
查询接口类似于 LINQ。您可以使用 Chloe.ORM 通过 lambda 查询 LINQ 之类的数据并执行任何操作(查询 | 组查询 | 聚合查询 | 插入 | 批量更新 | 批量删除)。...开源地址:https://github.com/dotnet/ef6 六、NHibernate(国外) NHibernate 是一个成熟的开源对象关系映射器,适用于 .NET 框架。...开源地址:https://github.com/nhibernate/nhibernate-core 七、ServiceStack/ServiceStack.OrmLite(国外) 简单的 .NET 的快速...、、类型化的 ORM 开源地址:https://github.com/ServiceStack/ServiceStack.OrmLite 八、linq2db(国外) LINQ to DB 是最快的 LINQ...换句话说LINQ to DB 是类型安全的 SQL。