分两种情况一.数据库中主键不是自动增长二.主键为自动增长
1.如果不是自动增长需要写明
<generator class="assigned"/>
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="DomainModel.Entities.CUSTOMER, DomainModel" table="CUSTOMER">
<id name="CustomerID" column="CustomerID" type="Int32" unsaved-value="0">
<generator class="assigned"/>
</id>
<property name="FirstName" type="String" column="FirstName" />
<property name="LastName" type="String" column="LastName" />
<bag name="ORDERs" cascade="all" lazy="true" table="`ORDER`">
<key column="CustomerID" />
<one-to-many class="DomainModel.Entities.ORDER, NHibernate" />
</bag>
</class>
</hibernate-mapping>
在调用
Isession.Save()
这个方法之后调用
Isession.Flush()
数据才真正保存到数据库中
2.如果主键是自动增长
mapping中设置
<generator class="native"/>
在调用Isession.Save()之后就不用调用flush方法了。
分享到:
相关推荐
**Nhibernate 2.2 配置模版详解** Nhibernate,作为一款流行的.NET ORM(对象关系映射)框架,使得开发者能够轻松地在.NET应用程序中使用SQL数据库,无需关注底层的SQL语句。Nhibernate 2.2版本是其历史上的一个...
**Nhibernate配置生成器**是一个强大的工具,它能够帮助开发者自动化地创建Model层对象以及对应的XML配置文件,极大地简化了Nhibernate在项目中的应用和维护工作。Nhibernate作为一款流行的对象关系映射(ORM)框架...
这个“NHibernate 实体类和配置文件生成模板”是针对CodeSmith工具设计的,目的是帮助开发者快速、高效地创建与数据库表对应的实体类以及相关的NHibernate配置文件。 CodeSmith 是一个模板驱动的代码生成工具,它...
这个“NHibernate2.0 实体类和配置文件生成模板”是针对CodeSmith工具设计的,用于自动化创建与数据库表对应的实体类和配置文件,提高开发效率。 CodeSmith 是一款基于模板的代码生成工具,通过自定义模板,可以...
在这个"NHibernate配置实例"中,我们可以深入理解如何配置并使用NHibernate。 首先,配置NHibernate主要包括以下几个步骤: 1. **安装依赖**:在.NET环境中,通常通过NuGet包管理器来安装NHibernate和相关的库,...
4. **映射文件**:NHibernate使用XML文件(如User.hbm.xml)来定义实体类和数据库表之间的映射关系,包括字段类型、主键、外键等。映射文件可以手动编写,也可以通过FluentNHibernate等工具自动生成。 5. **Session...
这个"NHibernate+Oracle NHibernate+MySql Demo"是一个示例项目,展示了如何配置并使用NHibernate与Oracle及MySQL数据库进行交互,包括基本的增删改查操作。 首先,我们要理解NHibernate的核心概念。它是通过XML...
配置NHibernate涉及几个关键步骤,包括创建Hibernate配置文件(通常为hibernate.cfg.xml),定义实体类,以及映射文件(.hbm.xml)。配置文件中包含了数据库连接信息,如数据库类型、用户名、密码和URL。映射文件则...
这个压缩包“NHibernate配置文件生成器.rar”包含了一个工具,能够自动生成NHibernate的映射文件和对应的Model类,从而简化了开发过程中数据库与代码的交互。 NHibernate Mapping Generator是这个工具的核心部分,...
NHibernate通过XML或 Fluent NHibernate 配置,将类属性映射到数据库表字段。 2. **配置**: NHibernate的配置文件(hibernate.cfg.xml)用于设置数据库连接信息,包括驱动、URL、用户名和密码。此外,它还用来指定...
1. **配置文件**: NHibernate的配置通常在hibernate.cfg.xml文件中进行,这个文件包含了数据库连接信息、缓存策略、方言设置等。 2. **映射文件**: 对于每个需要映射到数据库的类,都需要一个.hbm.xml文件来定义对象...
通过NHibernate.class.cst,开发者可以定制化实体类的生成,包括属性的类型、访问修饰符、自动增长主键等特性,从而快速构建符合项目需求的数据访问层。 2. NHibernate.cst:这个文件可能是用于生成NHibernate的...
- FluentNHibernate是一个用于创建Nhibernate映射的API,使用C#代码代替XML配置。 6. **配置SessionFactory** - SessionFactory是线程安全的,负责根据配置创建Session实例。 7. **操作数据库** - **打开...
通常使用XML或 Fluent NHibernate 来配置映射,指定字段、主键、外键、索引等信息。 3. **会话(Session)**:会话是NHibernate的主要工作单元,负责在应用程序和数据库之间管理对象状态。它是临时性的,用于一次或...
2. **配置与SessionFactory**:在使用NHibernate之前,需要配置连接字符串、数据库类型等信息。配置完成后,通过SessionFactory创建Session对象,Session是NHibernate的主要工作单元,负责对象的持久化操作。 3. **...
`nhibernate_template`模版则是一个预配置的代码框架,为开发人员提供了一个起点,用于快速构建与NHibernate集成的应用程序。模版中添加了主键为空的判断,这是为了确保在保存或更新实体到数据库之前,主键字段不为...
1. **配置 NHibernate**:在应用程序启动时,需要加载 NHibernate 的配置文件,其中包含了数据库连接信息、方言、缓存策略等。这些信息可以通过 `NHibernate.Cfg.Configuration` 类进行设置。 2. **映射实体**:...
1. **对象关系映射(ORM)**:NHibernate通过映射XML配置文件或使用Fluent NHibernate库将数据库中的表与.NET类进行关联。这样,开发者可以使用面向对象的编程方式处理数据库操作,而无需关心底层的SQL细节。 2. **...
App or Web.config.txt 文件是应用程序的配置文件,通常包含了NHibernate的连接字符串、配置选项以及SessionFactory的设置。在这里,你可以找到关于数据库连接信息,如数据库类型、用户名、密码,以及NHibernate特定...
1. **配置**:NHibernate的配置文件(通常为hibernate.cfg.xml)包含了数据库连接信息、方言、缓存策略等设置。开发者需要在此处指定数据库驱动、URL、用户名和密码。 2. **映射文件**:每个数据库表对应一个映射...