nhibernate入门使用经验

最近项目中用到nhibernate,学到了一点。就在这里写一点。

nhibernate是java世界的hibernate的.net版本,其工作原理和hibernate一样的。我们需要用hbm的文件来描述数据表及表之间的关系。刚好我们有一个工具可以帮我们做这个mapping, 叫db2hbm, http://nhforge.org/media/p/615.aspx, 这里是如何用的网页http://nhforge.org/wikis/howtonh/how-to-use-db2hbm.aspx。英文好的同学可以去看该网页,这里只简单说一下。首先要有一个配置文件,到该网页copy paste一个样例配置文件。然后需要根据你的实际情况来更改其中一些参数,如:

    <dialect>NHibernate.Dialect.MsSql2005Dialect, NHibernate</dialect>

    <connection-string>Server=localhost\SQLEXPRESS;initial catalog=AdventureWorks;Integrated Security=True</connection-string>

    <connection-driver>NHibernate.Driver.SqlClientDriver, NHibernate</connection-driver>

你的数据库类型和连接类型数据库驱动。

然后用一个命令来运行这个程序:

db2hbm –config:configfilename –output:outputdir

这个命令会产生很多hbm.xml后缀的文件。Mapping文件就产生了。

至于class文件,可以用hbm2net,http://nhforge.org/blogs/nhibernate/archive/2009/12/12/t4-hbm2net-alpha-2.aspx, 同样是准备好配置文件。到该网页找到这个配置文件。然后用一个这样的命令:

hbm2net –config:myconfig.xml *.hbm.xml

来根据hbm生成class文件。

生成的文件就可以用于我们的项目开发了。对于数据库表之间的关系,如一对多,多对多,多对一,一对一之类的,只要你在数据库中建立了合适的关系,就可以自动产生相应的映射安排。

当然并不是所有自动映射的关系是最优的,那么我们就可以用配置文件来改变。

 

 

 

 

时间: 2024-10-03 23:17:08

nhibernate入门使用经验的相关文章

restangular的入门使用经验

问题描述 restangular的入门使用经验 有没有restangular入门教程啊?有代码可以参考更好了,有多少代码都行,经验有一点是一点.. 解决方案 zed graph使用经验 解决方案二: 看<AngularJS权威教程 >这本书.我有一本,看了觉得很适合入门.

Nhibernate入门与demo 升级版

       在第一篇文章中有几个地方作为第一个Nhibernate入门demo还有很多不足!今天特意写点补充知识!请先阅读:Nhibernate入门与demo 以下是我们项目的升级的地方: 先看一下程序结构的截图: 问题一:关于hibernate.cfg.xml配置文件. 文件名称必须是hibernate.cfg.xml .Nhibernate自动到项目输出中查找此文件.必须将此文件的属性设置为始终复制. 问题二:在webconfig中配置Nhibernate,不使用单独的:hibernate

一起谈.NET技术,Nhibernate入门与demo

本篇文章阅读对象是:Nhibernate初学者!如果你是Nhibernate的研究者或者已经很熟练的运用Nhibernate请不吝赐教,对本文不足之处进行指教. 带着问题去学习!学完这些后,希望你能回答下面几个问题: 1.Nhibernate是什么? 2.Nhibernate能做什么?带给我们的什么? 3.怎么搭建Nhibernate? 4.怎么使用Nhibernate? 好,我们就带着这几个问题开始我们的Nhibernate的旅程. 第一个问题: 要明白Nhibernate是什么,就要首先明白

Nhibernate入门与demo

本篇文章阅读对象是:Nhibernate初学者!如果你是Nhibernate的研究者或者已经很熟练的运用Nhibernate请不吝赐教,对本文不足之处进行指教. 带着问题去学习!学完这些后,希望你能回答下面几个问题: 1.Nhibernate是什么? 2.Nhibernate能做什么?带给我们的什么? 3.怎么搭建Nhibernate? 4.怎么使用Nhibernate? 好,我们就带着这几个问题开始我们的Nhibernate的旅程. 第一个问题: 要明白Nhibernate是什么,就要首先明白

[Nhibernate]二级缓存(二)

目录 写在前面 文档与系列文章 更新数据 二级缓存管理 总结 写在前面 本篇文章也算nhibernate入门系列的结尾了,在总结nhibernate系列的过程中,遇到了很多问题,学习的过程也是解决bug的过程,在学习nhibernate的过程中还学习了单元测试的使用,这个是附属产品,我也没有想到,算是意外收获吧.这个系列学完了,正好公司有个项目,马上就要立项,正好能将学到的东西运用到实际的项目中,想想就让人激动.当然,我相信在实际的项目中,肯定还会遇到问题,但是通过本系列的学习,我已经不怕遇到b

从零开始学习jQuery(一) 开天辟地入门篇

一.摘要 本系列文章将带您进入jQuery的精彩世界,其中有很多作者具体的使用经验和解决方案,即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章是入门第一篇,主要是简单介绍jQuery,通过简单示例指导大家如何编写jQuery代码以及搭建开发环境. 详细讲解了如何在Visual Studio中配合使用jQuery. 二.前言 首先道个歉! "从零开始学习ASP.NET MVC"系列文章在即将介绍Filter时就没有更新了,原因就是最近我一直在研究和学习jQuery.看到本系列

NHibernate3.0剖析:Query篇之NHibernate.Linq标准查询

系列引入 NHibernate3.0剖析系列分别从Configuration篇.Mapping篇.Query篇.Session策略篇.应用篇等方面全面揭示NHibernate3.0新特性和应用及其各种应用程序的集成,基于NHibernte3.0版本.如果你还不熟悉NHibernate,可以快速阅读NHibernate之旅系列文章导航系列入门,如果你已经在用NHibernate了,那么请跟上NHibernate3.0剖析系列吧. NHibernate专题:http://kb.cnblogs.com

Scrapy爬虫入门

背景 想要做一个垂直搜索的平台,初始的数据是王道,之后的数据来源希望依赖于"众包".刚开始想使用Nutch,因为能与solr,lucene兼容.但是Nutch是个通用的爬虫,可能不适合我的需求.我的需求是定向抓取,也不包括链接分析,站点发现等.而且Nutch的源只提供1.6后的版本,体验了之后发现网上现有的许多资料不太适合.于是尝试使用Scrapy这个python写成的爬虫框架.他是一个事件驱动的网络框架,可以针对页面定制自己的爬虫需求,并且扩展和编写比较简单. 安装使用 Scrapy

ASP.NET MVC3学习心得-----入门和控制器

之前有学过ASP.NET MVC 3,但那也只是浮光掠影般的看了看而已,这次专门接了本书,系统的学习下,这里只是摘录总结一些重点而已,并非详细的介绍,算是读书笔记吧,希望可以对大家有所帮助. 第一章入门 1.1.2MVC模式简介 MVC(Model-View-Contorller)模式是一种用户界面模式,将应用程序的用户界面分为三部分: l 模型:组类,描述要处理的数据以及修改和操作数据的业务规则 l 视图:定义应用程序用户界面的显示方式 l 控制器:一组类,用于处理来自用户.整个应用程序流程及