首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从NHibernate配置文件生成数据库

从NHibernate配置文件生成数据库是一个关于使用NHibernate框架创建数据库的过程。NHibernate是一个用于将.NET对象映射到关系型数据库的对象关系映射(ORM)框架。

在这个过程中,NHibernate通过解析配置文件来确定如何映射对象到数据库表,以及如何处理数据库的各种操作。配置文件通常是XML格式,可以使用标签来指定映射、数据库连接、查询等各种设置。

在NHibernate配置文件中,可以使用<database>标签来指定数据库类型,例如:

代码语言:xml<hibernate-configuration>
复制
 <session-factory>
   <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
   <property name="connection.connection_string">Server=localhost;Database=mydb;User Id=myuser;Password=mypassword;</property>
   <property name="dialect">NHibernate.Dialect.MsSql2012Dialect</property>
   <property name="show_sql">true</property>
   <property name="format_sql">true</property>
   <property name="hbm2ddl.auto">update</property>
   <mapping assembly="MyAssembly"/>
  </session-factory>
</hibernate-configuration>

在这个例子中,<property>标签用于指定数据库连接字符串、方言、是否显示SQL语句等设置。<mapping>标签用于指定映射文件的位置。

当NHibernate解析配置文件时,它会根据配置文件中的设置来创建数据库表。如果数据库不存在,NHibernate会自动创建数据库。如果数据库已经存在,NHibernate会根据配置文件中的设置来更新数据库表的结构。

总之,从NHibernate配置文件生成数据库是一个关键的步骤,可以确保数据库的结构与应用程序的对象模型保持一致。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Nhibernate_nhibernate与ef区别

NHibernate用于把你的.Net对象持久化到底层的关系数据库中.你完全不用自己编写Sql语句去操作这些对象,NH会代替你做.你的代码里面只需要关心这些对象,NH生成sql语句并能为你取到正确的东西...开发过程 HNibernate将会有一些工具帮助你,如:生成schema,根据映射文件(Mapping file)生成类,并更新schema(一个新开发者的建议).然而,在本文档中,前提是你已经手动的数据库的创建喝...创建NH的配置文件,以告诉NH怎样连接数据库. 5. 使用NH提供的API....user表(这里和hibernate有些不同,我们必须告诉NH这个类哪儿来的.这个差异是由.Net和Java Reflect机制的不同引起的-zyyang).这种情况下,我们是Assembly NHibernate.Demo.QuickStart...步骤4:创建数据库配置文件 目前为止,我们还没有告诉NH到哪儿去找数据库.最直接的方法就是在你程序的配置文件中给NH一个部分,就是这样: <?

55330

NHibernate详解

Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具。 NHibernate 数据库底层来持久化你的.Net 对象到关系型数据库。...NHibernate 为你处理这些,远胜于你不得不写SQL去数据库存取对象。你的代码仅仅和对象关联,NHibernat 自动产生SQL语句,并确保对象提交到正确的表和字段中去。...4.构建一个让NHibernate知道如何连接数据库配置文件 5.使用NHibernate的API 第一步:写构建表的SQL 这里我们将使用的是一个非常简单的例子...内嵌的generator 标签告诉NHibernate 如何生成主键(它将恰当的为你生成主键,不管你指定何种类型,但你必须告诉它)。...第四步:为你的数据库产生一个配置文件 我们至今还没有告诉NHibernate 去哪里连接数据库

54530

NHibernate学习笔记之一,Hello world!

文件夹中的对应数据库配置文件,这里使用MSSQL,所以复制“MSSQL.cfg.xml”,并对NHibernate的配置信息适当修改 。...,设置这个属性的值为“嵌入的资源” 图3 5、定义NHibernateHelper的帮助类,Isession是NHibernate的工作单元,它是一个持久化管理器,我们通过ISession来数据库中存取数据...ISessionFactory代表一个数据库,并且使用一个XML配置文件(Web.config或者hibernate.cfg.xml)。...NHibernate通过对Configuration().Configure()的调用来装载配置文件,并初始化成一个Configuration实例,一般ISessionFactory通常只是被初始化一次...对当前使用的MSSQL数据库配置文件的物理路径             string configPath = HttpContext.Current.Server.MapPath("~/MSSQL.cfg.xml

57620

Nhibernate_juan benet

NHibernate用于把你的.Net对象持久化到底层的关系数据库中.你完全不用自己编写Sql语句去操作这些对象,NH会代替你做.你的代码里面只需要关心这些对象,NH生成sql语句并能为你取到正确的东西...开发过程 HNibernate将会有一些工具帮助你,如:生成schema,根据映射文件(Mapping file)生成类,并更新schema(一个新开发者的建议).然而,在本文档中,前提是你已经手动的数据库的创建喝...创建NH的配置文件,以告诉NH怎样连接数据库. 5. 使用NH提供的API....user表(这里和hibernate有些不同,我们必须告诉NH这个类哪儿来的.这个差异是由.Net和Java Reflect机制的不同引起的-zyyang).这种情况下,我们是Assembly NHibernate.Demo.QuickStart...步骤4:创建数据库配置文件 目前为止,我们还没有告诉NH到哪儿去找数据库.最直接的方法就是在你程序的配置文件中给NH一个部分,就是这样: <?

35550

C#——Nhibernate探索

但看到.xsd文件,第一时间反应,他们应该是用来帮助开发者,快速生成配置文件用的。为了保险起见,我们上网查询一下。 查询结果: 查询结果是,他们俩是【文件智能提示功能】用的。...调查结果: 对象与数据库的映射是保存在XML文件中的,于是我配置XML映射文件如下。 该XML文件的属性,要求设置其生成操作为【嵌入的资源】。 但我怕它丢失,还给他设置了始终复制的属性。...,所以,如果程序可以运行,那么这个类,一定会读配置文件中SQL字符串连接。...我推断,这里就是数据库连接字符串的模板。 由于我使用的数据库是sqlserver,所以,我复制了mssql.cfg.xml。...我推断,Nherbinate是读这个配置文件,然后到这个程序集里,反射查询那些poco对象。 最后,nhibernate-configuration-2.2这句话我想了很久要不要改成4.0。

47230

C# 数据操作系列 - 11 NHibernate 配置和结构介绍

ISessionFactory - NHibernate.ISessionFactory: 一个基于单数据库的已编译的映射缓存,它是持久不变的且线程安全(额,这句话是它的文档翻译过来的)。...这种状态通常是数据库中获取到数据或者新建的数据附加到了上下文中。 detached 游离态 该状态的对象是从上下文中分离出来的,有了数据库主键,曾经或现在仍然有一条数据库记录与之对应。...数据库连接字符串的名称,指的是配置在程序的配置文件中 connectionStrings节点的数据连接字符串。...默认是不直接加载导航属性,基于延迟加载的逻辑,由实际使用时才数据库中加载数据。...hbm2ddl.auto 该值表示每次ISessionFactory创建的时候,是否自动生成DDL语句并提交数据库执行。默认是空,表示不会强制更新数据库

1.1K20

NHibernate VS IbatisNet

NHibernate数据库结构提供了较为完整的封装,NHibernate的O/R Mapping实现了PO 和数据库表之间的映射,以及SQL 的自动生成和执行。...程序员往往只需定义好了PO 到数据库表的映射关系,即可通过NHibernate提供的方法完成持久层操作。...程序员甚至不需要对SQL 的熟练掌握,NHibernate 会根据制定的存储逻辑,自动生成对应的SQL 并调用ADO.NET接口加以执行。 ...也就是说,IbatisNet并不会为程序员在运行期自动生成SQL 执行。具体的SQL 需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定PO。...IbatisNet 需要手写 sql 语句,也可以生成一部分, NHibernate 则基本上可以自动生成,偶尔会写一些 Hql 。

71770

Fluent NHibernate之旅

3、建立一个空数据库(我们使用MSSql2005),数据库名为:MyNHibernate,这个数据库为信任连接。...,数据库类型和数据库的配置,还有一些NHibernate所需的配置,这里的proxyfactory.factory_class是2.1新加入的,至于用处还不是很了解,大家可以看下李大哥的“NHibernate2.1...下面我们在代码中创建一个SessionFactory,NHibernate建议我们在一个应用程序中使用一个数据库一个SessionFactory,这里我们用单数据库,代码如下: public static...传统方式对于一些经常使用的程序员来说非常简便,加上代码生成工具,使用起来也会游刃有余,但对于新手来说,Fluent绝对是一个好帮手。...当然不,Fluent的开发者不仅帮你保留了原有的方式,还可以混合你的配置文件,最有意思的时,你还可以使用它来学习NHibernate,甚至可以使用它来开发你自己的自动代码生成工具,因为我也刚学,先介绍一些简单的

1K60

C# 数据操作系列 - 10 NHibernate初试

不过,与EntityFramework不同的地方是,Hibernate以配置文件为主,通过配置文件规范使用,Object/Relation 映射。...而NHibernate这继承了这一点,也是以配置文件优先。下图是 NHibernate的工作原理: ?...在后续使用中,通过映射关系生成SQL语句(这一步跟EF是一致的),进而操作数据或者查询数据。 2. 初探 NHibernate 2.1 准备 先来个控制台项目,我起名为dataprovider。...NHibernate版本是 5.2.7 2.2 配置 需要创建一个项目用的配置文件:App.config....嗯,给大家一个NHibernate的图: ? 3. 总结 NHibernate延续了Hibernate的优点,如果之前了解过Hibernate的人上手不难。轻量简单,不过得需要配置文件

78030

Nhibernate入门与demo

通俗讲,就是我们操作实体类,然后让ORM框架自动映射到数据库中。      而Nhibernate就是:.Net环境下实现ORM的技术的一个框架!     ...告诉你吧,session是我们只需要一个配置文件就可以随处调用了。这么神奇?      Nhibernate带给我们的就是:对于开发者通常的数据持久化相关的编程任务,解放其中的95%!...然后对应数据库的表名。设置延迟加载为false。具体可以参考Nhibernate官方文档。 3、一定要将这个文件的属性:生成操作设置为嵌入资源!     ...第四步:创建Nhibernate配置文件:hibernate.cfg.xml   代码如下:     <?xml version="1.0" encoding="utf-8" ?...其他的都是Nhibernate最重要的数据库provider,sessionfactory等。不详细说。看官方文档!

31830

One to One 的数据库模型设计与NHibernate配置

数据库模型设计中,最基本的实体关系有三种:一对一、一对多、多对多。关于一对多和多对多使用的情况较多,之前也有过一些讨论,现在来说明一下在数据库中一对一的模型设计。...,而是要选择通过Employee做外键生成。...就是说明这个表的主键与另一个表的主键建立外键约束,也就是说在生成SQL脚本时,会为这个表创建外键,如果不加,是不会创建外键的。...在主键关联的情况下,如果主表中移除表的引用,这个时候保存主表,是不会删除表的,也不会删除这个一对一的关系的。...这其实又带来了另外一个问题,这可能是NHibernate没有考虑到的地方,那就是我们采用的是软删除,也就是说根本不会数据库删除数据,只是把IS_DELETED置为1。

44620

Fluent NHibernate之旅二--Entity Mapping

如果你要亲手试验一下,可以先看一下“Fluent NHibernate之旅一”,进行一下数据库和SessionFactory的准备。...传统方式:传统方式使用xml文件进行映射,配置文件如下: <hibernate-mapping xmlns="urn:<em>nhibernate</em>-mapping-2.2" namespace="EntityModel...这其实就是完全靠了Lambda表达式,大家可以看看老赵的“<em>从</em>.NET框架中委托写法的演变谈开去”,就非常清楚了。...hbm.xml文件,自己再看一篇,看看<em>NHibernate</em>的映射方式,所以是非常好的一个方法,我有时候做映射的时候,遇到问题都会<em>生成</em>出来,随时查看问题所在,所以说是非常有用的一个方法,而且你可以把你的映射文件直接用到...传统方式的映射,我是看了<em>生成</em>文件,也不是很复杂,而且我觉得<em>生成</em>的文件比我自己写的还要标准,呵呵。顺便贴一下吧。

98790

NHibernate实践与模式

NHibernate实践与模式 NHibernate是一款非常优秀的O/R mapping的开源框架,再还没有.net的时候它已经存在于java环境中。...下面我们先看一下它的框架 工作原理 将数据库表结构映射成实体类(xml-mapping文件,实体类 ,class文件),支持一对多,多对一,多对多的关系,默认生成对这些表的CURD操作,包括多表脊联操作...CURD的操作语句可以源代码看,它是生成的是参数形势的sql脚本并且支持特别的参数,如,oracle的to_date,to_char等; 从上图可以看出实现了数据库的无关性,开发人员无须关心底层的数据库类型...然后再去创建数据库表,和UI的部分; 我还是按在有数据表的情况下如何用NHibernate作开发 1.用MyGeneration创建实体类和mapping文件选择NHibernate lujan99 1.06...3.接下去网上下载几个通用的类库文件包括配置文件NHibernateSessionManager.cs(用来创建session和管理session), NHibernateSessionModule.cs

79540

使用pd数据库逆向生成pdm文件

使用pd数据库逆向生成pdm文件 好久没更新博客了,最近忙着各种事,捞了点老本行java的一些东西,浑浑噩噩,花了几天时间用java搭建了一个小项目的restful接口,深深觉得这东西论效率被node...话不多说,powerdesigner估计都接触过,凡是设计过数据库的基本都用过,最近要设计一个商城系统,数据库量比较大,想着先参考网上的一些现有库,但是苦逼的是只有sql,没有完整的pd文件(ps:毕竟...pd看着舒服,自己也可以再进行二次编辑),就想着pd应该可以将sql直接逆向生成pdm文件,方便在pd中直接查看,摸索一番,实现如下: 安装mysql-connector-odbc-5.1.5-win32...填写数据库信息,完成后"ok",再"connect" ? ? 点击"确定",选择要导出的表即可生成pdm ?

1.7K30

eclipse数据库逆向生成Hibernate实体类

意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表;要么就先进行数据库表设计,再逆向生成实体类。没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计。...所以,因项目原因我便研究了下由数据库逆向生成Hibernate实体类的方法。...那么下面讲述正题:如何数据库逆向生成Hibernate实体类 1. 首先,要在eclipse中采用自带的数据库管理器(Data Management),连通你的数据库: ? ?  ...Project选择项目(test),Database connection选择刚刚配好的mysql(其实可以直接选择[Hibernate configured connection]通过Hibernate配置文件连接数据库...最终即可生成

1.2K00

eclipse数据库逆向生成Hibernate实体类

意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表;要么就先进行数据库表设计,再逆向生成实体类。没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计。...所以,因项目原因我便研究了下由数据库逆向生成Hibernate实体类的方法。...那么下面讲述正题:如何数据库逆向生成Hibernate实体类 1. 首先,要在eclipse中采用自带的数据库管理器(Data Management),连通你的数据库: ? ?  ...Project选择项目(test),Database connection选择刚刚配好的mysql(其实可以直接选择[Hibernate configured connection]通过Hibernate配置文件连接数据库...最终即可生成

1.2K90
领券