NHibernate与IbatisNet的简单比较】的更多相关文章

NHibernate是当前最流行的Java O/R mapping框架Hibernate的移植版本,当前版本是1.0 rc-1.它出身于sf.net..IbatisNet是另外一种优秀的Java O/R mapping框架,当前版本是1.3.目前属于apache的一个子项目了.相对NHibernate“O/R”而言,IbatisNet是一种“Sql Mapping”的ORM实现.NHibernate对数据库结构提供了较为完整的封装,NHibernate的O/R Mapping实现了PO 和数据库…
  NHibernate 是当前最流行的 Java O/R mapping 框架Hibernate 的移植版本,当前版本是 1.0 .2 .它出身于sf.net..IbatisNet 是另外一种优秀的 Java O/R mapping框架,当前版本是 1.2 .目前属于 apache 的一个子项目了. 相对 NHibernate “ O/R ”而言, IbatisNet 是一种“ Sql Mapping ”的 ORM实现.NHibernate 对数据库结构提供了较为完整的封装,NHibernat…
建立一个Company类用来测试,对应的表为TBLCOMPANY.   1. 下载NHibernate(版本1.2.0.CR1),将NHibernate \bin\net-2.0下面的文件拷贝到lib目录.   2. 为实体建立Class Library的Domain工程.为工程添加\lib\Iesi.Collections.dll文件的引用(以后用).   3. Company类的代码如下   using System;   using Iesi.Collections.Generic;  …
上篇文章简单介绍NHibernate之简单增删改查,本文将会简单介绍有关执行NHibernate的SQL.HQL及存储过程: 一:执行SQL语句实例,运用CreateSQLQuery方法 public IList<SchoolModel> GetListBySql() { string strSql = "select * from T_School where studentNum>250"; ISQLQuery sqlQuery = isession.Create…
以前有简单了解NHibernate,但因项目一直没有运用所以也没有机会进行一个详细了解:最近利用一点空闲的时间认真学习它:同样希望把学习过程进行简单记录,今天简单写一个针对MSSQL数据库的增删改查的小实例,作为进行学习NHibernate第一步 一:ORM理论 ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中.本质上就是将数据从一种形式转换到另一种形式.数据持久化:就是将内存中的 数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称.在应用…
前言 这篇文章出自于我尝试学习使用Nhiberbnate的挫败感.我发现好像Nhibernate全部的介绍材料不是很模糊就是太详细.我所需要的就是一个简单直接的教程,能让我尽快对NHibernate熟悉起来.我从来没有找到.幸运的是,这篇文章将会满足别人的这些需求. 这篇文章有些长,但是我鼓励你以你的方式来阅读.NHibernate是一个复杂的程序,是一个绵延曲折的学习过程.这篇文章将为你踏平曲折,从几天或是几周缩短到几个小时. 问题 NHibernate目的是解决一个众所周知的问题,对象持久代…
学习Nhibernate的萌芽 今早有群里有人问Nhibernate的问题,没学过,刚好来了兴趣,无意很快在园子里下载到了一本Nhibernate3.0的电子书,内容非常不错,很快地看了扫了一下,再记个笔记,不过针对当前的最新版本文章的内容参考时候因稍作调整.一直觉得EF用起来蛮好用的,很多人喜欢EF,接触了好多初学EF Code First的同学,虽然有现成的工具在建好数据库后自动生成Code First 模式的代码文件,但自己建模都比较含糊,往往不清楚怎么去建立合适的Model,所以学习一下…
请注明转载地址:http://www.cnblogs.com/arhat 通过上一章的学习,我们学会如何使用NHibernate对数据的简单查询,删除,更新和插入,那么如果说仅仅是这样的话,那么NHibenrate的优势有在哪里呢?那么今天就要和大家一起来分享一下NHibernate的优势--懒加载(初探). 我们知道,在关系数据库中,表和表之间是有联系的,那么通常情况下,我们通过连接查询能够把相关的数据查询处理,只是连接语句似乎大概写起来似乎是有些繁琐的,那么NHibenrate为我们提供了一…
前面的两篇文章中.我们对NHibernate已经做了大致了解 <ORM利器:NHibernate(一)简单介绍>Nhibernate的作用:攻克了对象和数据库的转化问题 <ORM利器:NHibernate(二)使用CodeSmith高速生成映射文件和映射类>利用CodeSmith由表导出映射类(就是通常所说的Entity)和映射文件(告诉你表和对象之间是怎样建立一一相应的关系的). 接下来将会对NHibernate的使用做Demo解析,分为五部曲: 创建表.若要把对象转换为数据库中…
这段时间一直使用NHibernate,今天抽空总结一下. 1.什么是NHibernate? NHibernate是一个面向.NET环境的对象/关系数据库映射工具.对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去.NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库.Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具.…
由于NHibernate是被设计应用在许多不同环境中的,因此它存在很多配置参数.幸运的是,这些参数大多都有合理的默认值,而且NHibernate发布的时候伴随着一个App.config 例子(可在src\NHibernate.Test找到),这个例子已经包含了了很多配置信息.你通常只要把这个文件放如你的项目中然后定制它就行了. 编程式配置 一个NHibernate.Cfg.Configuration 实例表示一个完整的应用程序里面的类型和SQL数据库mapping信息的集合.Configurat…
重点 NHIbernate处理只读对象的方式可能和你在别处看到的不同.不正确的使用方式可能造成不可预料的结果. 当一个实体是只读的时候: NHIbernate不会对实体的简单属性和单向关联数据检查数据是否是脏数据 NHibernate不会对实体的简单属性和单向关联数据进行更新操作 NHibernate不会更新只读对象的版本信息,尽管实体的简单属性和单向关联数据发生了改变 在某些情况下,NHibernate对待一些只读实体类型和费只读类型是一样的: Nhibernate级联操作定义在实体mappi…
在上一篇里面我们知道了什么是IbatisNet,并且知道了如何用IbatisNet进行简单的增删改查的操作,在这一篇文章里面我们主要介绍一下IbatisNet操作存储过程. 我们一般把存储过程分为两种类型: 1,查询类型的存储过程 也就是所谓的select语句 2,修改类型的存储过程 例如,insert,update,delete修改数据库数据的操作. 下面首先我们介绍一下查询类型的存储过程,为了使用我们建一个存储过程(以前很少用过现场百度的…………如果写的不好或者不对欢迎指正) create…
这是我4月份发在donews博客上的文章,现在都转到博客园来,风满袖希望进一步阐述你的架构,我就将这篇文章转移到博客园.原文:http://blog.donews.com/shanyou/archive/2005/04/23/347792.aspx     以我个人的能力,没有足够的时间和资源自行开发一套完整的平台.在已有的众多开源项目中选择若干优秀的项目进行整合.“站在巨人肩膀上”是牛顿有一句名言.,同样适合我们的IT行业. 我对平台的技术架构的构想,是采用开源的ORM框架做数据持久层, As…
刘海峰:国内知名微软开源技术网站51Aspx 创始人,十年以上的Asp.net从业经验,微软MSDN特约讲师.Teched讲师.ImagineCup大赛评委.人大出版社研修班特约讲师,曾多次受邀访问美国西雅图的微软总部,2009年与业内知名MVP组建易纵互联(北京)科技有限公司并任运营总监.现专注于微软Azure技术领域,在Azure平台进行功能实践和传统Web平台迁移方面有诸多实战经验.陈锐:2002-2008 Visual Basic MVP魏滔序:2009-2011微软MVP,2007 C…
乘着有时间,尝试下利用Memcached进行分布式缓存,其中遇到了不少问题及狗血的事情,开篇记录下,希望对您有帮助. 我之前的项目为:Asp.Net MVC4 + Nhibernate + MSSQL,利用简单分层,在用缓存时写了个缓存接口(还好当时写了),所以在此基础上,我的改动其实很简单,实现这个接口,再切换到Memcached就可以了. 搭建Memcached服务器 搭建服务器很简单,我用虚拟机虚拟了Ubuntu Server,为何使用Server版本呢?搭建起来比较快,而且启动也快,使用…
尝试使用Memcached遇到的狗血问题   乘着有时间,尝试下利用Memcached进行分布式缓存,其中遇到了不少问题及狗血的事情,开篇记录下,希望对您有帮助. 我之前的项目为:Asp.Net MVC4 + Nhibernate + MSSQL,利用简单分层,在用缓存时写了个缓存接口(还好当时写了),所以在此基础上,我的改动其实很简单,实现这个接口,再切换到Memcached就可以了. 搭建Memcached服务器 搭建服务器很简单,我用虚拟机虚拟了Ubuntu Server,为何使用Serv…
Nhibernate随手记(1) 学习Nhibernate的萌芽 今早有群里有人问Nhibernate的问题,没学过,刚好来了兴趣,无意很快在园子里下载到了一本Nhibernate3.0的电子书,内容非常不错,很快地看了扫了一下,再记个笔记,不过针对当前的最新版本文章的内容参考时候因稍作调整.一直觉得EF用起来蛮好用的,很多人喜欢EF,接触了好多初学EF Code First的同学,虽然有现成的工具在建好数据库后自动生成Code First 模式的代码文件,但自己建模都比较含糊,往往不清楚怎么去…
出处:http://www.genshuixue.com/i-cxy/p/15349735 刘海峰:国内知名微软开源技术网站51Aspx 创始人,十年以上的asp.net从业经验,微软MSDN特约讲师.Teched讲师.ImagineCup大赛评委.人大出版社研修班特约讲师,曾多次受邀访问美国西雅图的微软总部,2009年与业内知名MVP组建易纵互联(北京)科技有限公司并任运营总监.现专注于微软Azure技术领域,在Azure平台进行功能实践和传统Web平台迁移方面有诸多实战经验.陈锐:2002-…
ylbtech-奖项-MVP:MVP(微软最有价值专家)百科 微软最有价值专家(MVP) 是指具备一种或多种微软技术专业知识,并且积极参与在线或离线的社群活动,经常与其他专业人士分享知识和专业技能,受人尊敬.信任,而且平易近人的专家. 1.返回顶部 1. 中文名:微软最有价值专家奖 外文名:Most Valuable Professionals 简    称:MVP 性    质:奖项 目录 1 基本介绍 2 具体介绍 3 中国区人才库 2. 2.返回顶部 1. 基本介绍 mvp logo 实际…
Fluent Nhibernate(以下简称FN)发展到如今,已经相当成熟了,在Nhibernate的书中也相应的推荐了使用FN来进行映射配置,之前写的FN之旅至今还有很多人会来私信我问题,说来惭愧,从FN之旅四至今已经4年多,至今还未更新过此系列,原因有很多,最大的就是懒惰,哈. 安装 现在在项目中使用FN很方便,使用Nuget管理就可以了,但我还是建议大家,可以下载源代码,自己可以详细了解下. 当然,您也可以用命令台来进行安装.说个题外话,NuGet真心不错,至少已经做新项目的时候不用到处去…
1.在数据库中新建表格,并插入记录,SQL如下: USE WFC_DB GO create table Students ( Id ,) not null, Name ), Age int, Score int ) GO , ) , ) 注意:表的Id字段设为自增长,即 IDENTITY(1,1) 2.新建类库项目,添加实体类与映射文件 实体类 Student.cs: public class Student { public virtual int Id { get; set; } publi…
摘要 上一篇文章只完成了简单的NHibernate安装.配置和连接数据库.这篇文章介绍怎样实现最简单的数据库读写操作. 1. 重构ISessionFactory生成过程 将生成ISessionFactory的代码从main函数中移除,变成使用属性控制. private static ISessionFactory _sessionFactory; public static ISessionFactory SessionFactory { get { if (_sessionFactory ==…
NHibernate的简单例子 @(编程) [TOC] 因为项目需求,搭了一个NHibernate的例子,中间遇到了一些问题,通过各种方法解决了,在这里记录一下最后的结果. 1. 需要的dll Common.Logging.dll 1.2.0.0 Common.Logging.Log4Net.dll 1.2.0.2 log4net.dll 1.2.10.0 MySql.Data.dll 6.9.8.0 NHibernate.dll 3.0.0.400 Spring.Aop.dll 1.3.1.4…
Fluent Nhibernate code frist简单配置   前言 在以前的项目开发过程中使用nhibernate做完orm映射工具需要编写大量的xml映射文件,项目过程中往往会因为一个字段等小小的映射错误而很难去发现问题所在而且非常繁琐,后来我们的项目中采取了第三方的映射插件Nhibernate.Mapping.Attribute直接在实体类上标记生成映射文件,最近的新项目中打算使用fluent nhibernate,这个工具中提供了一个方法让你不再需要去写NHibernate的标准映…
NHIBERNATE的简单框架的设计 上次的 NHibernate的Session管理策略和NHibernateHelper 发布并提供下载,给NHibernate刚入门的同学们带来很多便利. 最近有同学在求NH的通用仓储,正好我最近也设计了一个应用于实战,好吧,无私地分享并快乐着吧. 与上次一样,您无需关心细节,因为我会在最后提供源代码的下载. 如果您对ORM没兴趣,或者觉得此文看标题与大多数文章类似的话,为不浪费您宝贵的时间,请点又上角红叉. Repository设计 从整体上可以看到,这个…
NHibernate使用小示例 1.新建Model类库项目. 使用代码生成器生成Model类. 此处以简单的UserInfo表作为示例. 注意字段前必须以 virtual 修饰. namespace Model { public partial class UserInfo { public virtual System.Int32 Id { get; set; } public virtual System.String Name { get; set; } } } 2.编写映射实体类与数据库…
实例中解决方案简单的创建三层架构,符合开发过程中最简单的运用: 1:首先在数据库中创建一个表T_School,脚本如下: USE [TestDb] GO /****** 对象: Table [dbo].[T_School] 脚本日期: 03/01/2014 19:45:45 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[T_School]( [ID] [uniqueidentifier]…
NHibernate 映射基础(第三篇) 简单映射.联合主键 NHibernate完全靠配置文件获取其所需的一切信息,其中映射文件,是其获取数据库与C#程序关系的所有信息来源. 一.简单映射 下面先来一个简单的例子,然后随着不断地对这个例子修修改改,从而真正了解映射文件.具体的资料可以查看http://www.cnblogs.com/kissdodog/archive/2013/02/21/2919886.html 先来看一张表: 映射文件Product.hbm.xml: <?xml versi…
NHibernate是.NET平台下的ORM框架,与ADO.NET一样实现项目中数据库与项目系统的交互. .首先要用NHibernate框架就要有第三方的dll库来作为支持,附上百度云下载地址:(链接:http://pan.baidu.com/s/1dD2KRvz 密码:50fb) 2.新建一个类库项目 引入NHibernate库中的dll文件: 新建一个试题类People.cs: 注意这里每个属性要加virtual关键字 然后配置一个实体类的映射文件 文件名取名为people.hbm.xml,…