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

如何将整个映射设置为只在NHibernate 3.2中按代码映射?

在 NHibernate 3.2 中,要将整个映射设置为仅通过代码映射,您需要遵循以下步骤:

  1. 首先,确保已安装并引用了 NHibernate 3.2 及其相关依赖项。
  2. 创建一个映射类,该类继承自 ClassMapping 类,并覆盖其方法以定义映射。例如,对于一个名为 User 的实体类,创建一个名为 UserMapping 的映射类:
代码语言:csharp
复制
public class UserMapping : ClassMapping<User>
{
    public UserMapping()
    {
        // 设置表名
        Table("Users");

        // 设置主键
        Id(x => x.Id, map =>
        {
            map.Column("Id");
            map.Generator(Generators.Identity);
        });

        // 设置其他属性
        Property(x => x.Name, map => map.Column("Name"));
        Property(x => x.Email, map => map.Column("Email"));
        // ...
    }
}
  1. 创建一个继承自 DefaultAutomappingConfiguration 的自定义自动映射配置类,并覆盖其方法以禁用自动映射:
代码语言:csharp
复制
public class CustomAutomappingConfiguration : DefaultAutomappingConfiguration
{
    public override bool ShouldMap(Type type)
    {
        // 返回 false 以禁用自动映射
        return false;
    }
}
  1. 在创建 NHibernate 会话工厂时,使用自定义自动映射配置:
代码语言:csharp
复制
var configuration = new Configuration();
configuration.DataBaseIntegration(db =>
{
    db.ConnectionString = "your_connection_string";
    db.Dialect<MsSql2012Dialect>();
});

// 添加映射类
configuration.AddMapping(new UserMapping());
// ... 添加其他映射类

// 使用自定义自动映射配置
configuration.SetNamingStrategy(new DefaultComponentSafeNamingStrategy());
configuration.AutoMappingConfiguration<CustomAutomappingConfiguration>();

var sessionFactory = configuration.BuildSessionFactory();

现在,NHibernate 将仅使用您通过代码定义的映射进行映射,而不会自动映射其他实体类。

注意:这个问答内容是关于如何在 NHibernate 3.2 中仅通过代码映射实现整个映射。如果您需要了解其他云计算相关的问题,请提供更多详细信息,以便我们为您提供更准确的答案。

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

相关·内容

NHibernate总结

开始使用NHibernate 我们亲自动手,一步一步实现一个NHibernate简单程序来,我实现了简单的增删改查功能。...封装Nhibernate底层操作,People.cs实体类,People.hbm.xml映射文件(把数据库表People映射到实体类People)。...,其中People实体类中的字段要设置virtual。每个文件的详细代码在下面介绍 (2)     NH.Data层引用Nhibernate相关的DLL ?...public virtual int Age { get; set; } public virtual string Sex { get; set; } }  注意:字段的属性一定要设置...我们可以People.hbm.xml点击右键选择属性修改该文件的生成操作 (5)     NHData.cs对库表People进行增删改查 现在完事具备只欠东风了,开始我们的数据库CRUD操作,在看该文件的代码

92140

Nhibernate_nhibernate与ef区别

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Nhibernate_nhibernate与ef区别,希望能够帮助大家进步!!! 什么是NHibernate?...步骤3:编写映射文件(Mapping File) 现在我们有了数据库表和.Net类,我们还需要告诉NH怎样在数据库和类之间映射.这就需要映射文件了.最简捷(也是可维护性最好的)方法就是每一个类编写一个映射文件...这些嵌入的Generator标记告诉NH怎样生成Primary Key(NH很方便的就能给你生成一个,不管是什么类型的,只要你告诉它怎样去做).我们举的例子中,把它设置成"assigned",意思是"...- 映射文件 æ app.config - 带有Ado.net连接信息的配置文件(你也可以代码中指定的) æ 一个叫做user的数据库表....代码里面使用NHibernate是很简单的事情: 1. 创建一个Configuration对象. 2.

58530
  • Nhibernate入门与demo

    其中:李永京的博客http://www.cnblogs.com/lyj/tag/NHibernate/  内容最为丰富。而且李哥的博客里面学了很多东西,在此致谢!      ...通俗讲,就是我们操作实体类,然后让ORM框架自动映射到数据库中。      而Nhibernate就是:.Net环境下实现ORM的技术的一个框架!     ...设置延迟加载false。具体可以参考Nhibernate官方文档。 3、一定要将这个文件的属性:生成操作设置嵌入资源!     ...Default.aspx   代码文件中添加如下代码 Configuration cfg = new Configuration(); cfg.Configure(Server.MapPath...Nhibernate做的不只是这些!搭载Spring.Net  Nhibernate能做的更多!而且代码会更加优美!      源码下载:NhibernateDemo.zip

    34830

    NHibernate学习笔记之一,Hello world!

    NHibernate是一个面向.NET环境的对象/关系数据库映射框架,主要应用在数据持久层,和其它的ORM框架一样用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。...则应修改为NHibernate.Dialect.MsSql2005Dialect;mapping表示映射NHibernateDemo.WebUI命名空间下的所有类型,包含持久化类以及对应映射文件所在的应用程序集名称...4、POCO类编写写一个数据库映射文件,其实User.hbm.xml映射文件包含了对象/关系映射(ORM)所需的元数据。元数据包含持久化类的声明和属性到数据库的映射。...hibernate-mapping> 每个持久化类都应该有一个标识属性,该文件必须输出到Bin目录中,否则会报错“xxx is not mapped”,如图3所示具体方法是:选择User.hbm.xml文件->属性->生成操作,设置这个属性的值...            finally             {                 session.Close();             }         }     } } 7、表示层使用

    59520

    Nhibernate_juan benet

    步骤3:编写映射文件(Mapping File) 现在我们有了数据库表和.Net类,我们还需要告诉NH怎样在数据库和类之间映射.这就需要映射文件了.最简捷(也是可维护性最好的)方法就是每一个类编写一个映射文件...这些嵌入的Generator标记告诉NH怎样生成Primary Key(NH很方便的就能给你生成一个,不管是什么类型的,只要你告诉它怎样去做).我们举的例子中,把它设置成”assigned”,意思是”...– 映射文件 æ app.config – 带有Ado.net连接信息的配置文件(你也可以代码中指定的) æ 一个叫做user的数据库表....代码里面使用NHibernate是很简单的事情: 1. 创建一个Configuration对象. 2....Configuration对象知道所有.Net类和后端数据库之间的映射关系, Configuration cfg = new Configuration(); cfg.AddAssembly(“NHibernate.Demo.QuickStart

    37250

    Fluent NHibernate之旅二--Entity Mapping

    Fluent方式:或许你会觉得我们用了配置文件进行映射,相当的简单,想怎么配就可以了,但实际用下来,我还是更喜欢Fluent的映射方式,映射代码如下: public class ProductMap :...Map(Expression> expression):与Id类似,对应NHibernate中的property,我这里只是简单的映射,还有很多特性,今后的教程中会慢慢使用...对于我这种新手来说,Fluent更适合我,因为我可以用它来进行学习NHibernate映射做好了,接下来我们NHibernate中把映射加到配置中。...二、使用自定义类型映射实体属性 NHibernate支持我们用自定义的类型来映射属性,但因为我是初学,我真的不会,当然我在网上找到了相关的资料,在此也不多说,就说说Fluent的方式吧,映射自定义属性的时候...Order实体中,我们看到了订单状态我用了OrderState枚举类型,数据库存储类型tinyint,对于它的映射,我们只需要: public class OrderMap : ClassMap<Order

    1K90

    Fluent NHibernate之旅

    ORM大家都非常熟悉了吧,我相信也有很多朋友正在用自己或者一些公开的框架,而最常用而且强大的,非Hibernate了(Net中NHibernate),网上的文档非常多,不过博客园中,介绍NHibernate...这是官方的说明,大体的话也就是用编程的方式进行配置,让你能更好的理解,不需要编写复杂的映射文件,它能完全替换NHibernate映射文件,让你在映射的时候能使用C#的强类型方式。...开始之前,我们先下载它的Dll,当然你也可以下载它的源代码进行修改和学习。...下面我们代码中创建一个SessionFactory,NHibernate建议我们一个应用程序中使用一个数据库一个SessionFactory,这里我们用单数据库,代码如下: public static...,这里我们先介绍一下,如果用Fluent结合传统的配置文件,来创建SessionFactory(后面的代码会简略,修改上面其中的创建方法)。

    1.1K60

    Fluent Nhibernate之旅(五)--利用AutoMapping进行简单开发

    Fluent Nhibernate(以下简称FN)发展到如今,已经相当成熟了,Nhibernate的书中也相应的推荐了使用FN来进行映射配置,之前写的FN之旅至今还有很多人会来私信我问题,说来惭愧,从...NuGet下载FluentNhibernate后,会自动下载安装Nhibernate及Iesi。...No,无需映射了,因为我们用了AutoMapping,一切交给FN吧,我们接下来只要编写测试代码即可。...刚我们的测试报错,是因为Employee中的Name是个UserName类,Nhibernate的Component,我FN之旅四(上)中有介绍到,默认情况下映射根据字段映射到数据库的,所以上面的测试会报错...这里我测试了Employee和Store两个实体,对于多对多还未测试,时间有限,等有时间下篇继续下。

    96060

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

    可以设置一个事务之间的进程级或集群级的二级缓存。 ISession - NHibernate.ISession: 一个单线程、短生命周期的对象,表示从应用程序和数据持久化之间一个连接。...配置项介绍 在上一篇文章中,我们介绍了一下如何设置NHibernate的基本配置项,但是并未对配置项进行深入。...dialect 数据库方言,表示NHibernate连接的数据库是什么,该用哪种格式解析关系映射到数据库SQL语句 default_schema 默认的schema,用来设置连接字符串连接的数据库默认的...show_sql 是否控制台中打印转换的SQL语句,一般调试的过程中会设置true,用来确认生成的SQL是否正确等。...总结 这是一篇枯燥乏味的说明文,主要介绍了Nhibernate的基本内容。下一章我们来试试,如何创建Nhibernate映射配置。

    1.2K20

    C#——Nhibernate探索

    调查结果: 对象与数据库的映射是保存在XML文件中的,于是我配置XML映射文件如下。 该XML文件的属性,要求设置其生成操作为【嵌入的资源】。 但我怕它丢失,还给他设置了始终复制的属性。...编写测试类代码如下。...为什么说是探索之旅呢,因为,我也是首次配置Nhibernate,我平常更多的是使用Entity Framework。 文中使用了一些推断,猜测的词语。那是因为,真的是推断的。...我并不清楚那几个点的原理和含义,因为我没看Nhibernate的原代码。 虽然本文是讲述,配置Nhibernate;但我更想讲述的是,面对未知的框架入手学习和使用的方法。...---------------------------------------------------------------------------------------------- 注:此文章原创

    48930

    NHibernate介绍「建议收藏」

    NHibernate是一个面向.NET环境的对象/关系数据库映射工具。 1. 创建项目文件 Visual Studio开发工具里创建需要的项目结构。 2....要注意的是所有需要持久化的属性必须是虚拟的,并且要开启延迟加载,所有数据模型类中的公共方法必须是虚拟的,哪怕它们并没有包含到映射文件中。 通常来讲,最好把所有的属性都设置虚拟的。...可以借助MyGeneration自动代码工具从数据表生成数据模型和对应的映射文件。...创建NHibernate映射文件 Nhibernate使用XML映射文件来映射POCO到数据库对象。虽然很多案例中这可能是一对一关系,但这并不是必定的。...一旦XML文件创建好了,需要更改XML的生成方式确保它被设置嵌入式资源,否则NHibernate不会读取这个XML文件,那么映射就不会生效了。

    67720

    C# 数据操作系列 - 12 NHibernate的增删改查

    NHibernate映射文件 对于NHibernate映射文件有个约定的名字: .hbm.xml 这里先为大家介绍一下映射文件的格式: 1.1 hibernate-mapping 的说明 <hibernate-mapping...中,多对一的配置是一的一端,表示该类有一个外键导航。...增删改查 Nhibernate的每次操作都基于一个Session,所以我们操作数据库的时候最好先持有一个可用的Session。接下来,我们就一个通用数据库操作类基础,向大家分享一下我的想法。...(OS/400) NHibernate.Dialect.DB2400Dialect Firebird NHibernate.Dialect.FirebirdDialect 需要设置driver_class...设置driver_classNHibernate.Driver.SQLite20Driver Sybase Adaptive Server Anywhere 9 NHibernate.Dialect.SybaseASA9Dialect

    1.1K20

    Fluent NHibernate之旅(三)-- 继承

    经过了“开篇”和“简单映射”两篇文章,相信大家对Fluent NHibernate 有了一定的了解了,FluentNHibernate实际就是对 NHibernate 映射的一定扩展,我们能完全利用强类型...、泛型、Lambde表达式等等Vs、Framework等特性简单完成映射工作,同时也能让我们学习NHibernate映射方式,一举夺得,这么好玩的东东,有理由不继续完成这个系列吗?...从这一篇开始,我们将使用Fluent NHibernate RC 1.0 版来进行演示,先前的代码,我会另外进行说明 继承 OOP中,继承作为OO中重要的特性,如果NHibernate没有对它的支持,...在说一下DiscriminateSubClassesOnColumn,这就是标识符的一个映射方式,因为RC版之前,我们可以使用SetAttribate的方法,设定我们的父类"not-null" 但是...,而且系列中,基本上每个范例都写了测试代码,虽然丑陋了点,但从小做起嘛,以后要养成这个习惯。

    68780

    使用VS2015和Nhibernate实现与MySql数据库连接,实现增删改查操作

    ,MySQL-FRONT ,Connector/Net(选择.Net&Mono) Nhibernate包可以VS2015中下载 ,对MySql操作,我用的是MySQL-FRONT,注意要想实现和数据库的链接...先写一个简单的给你定义的数据库中添加一条元素的代码:(不使用Nhibernate的) 前提:先把该用的dll文件,添加到引用里面去不然,会连接不成功,之前下载的Connector/Net(选择.Net&...现在表中有两天信息了,现在我们使用代码对这两条信息进行操作,步骤如下: 1.打开VS2015新建一个项目,名字APengChao,与数据库名字对应的话,看着也舒服一些,当然名字随意,想取什么就取什么,...然后我们工程下面新建两个文件夹:Model文件夹用来存放数据库表类和映射类,还有一个Manger类用来存放对数据库执行增删改查操作的类。...我们Model文件下新建一个名字APengPhao的类,这个刚好也是和数据库表名相同的,请看这个类的代码: using System; using System.Collections.Generic

    1.4K30

    如何使用Fluent Nhibernate中的Automapping进行OR Mapping映射

    由于项目中使用了NHibernate来作为ORMapping构建数据访问层,那么就必须要配置Object和DataTable的映射。...最早的项目中,我们使用了最传统的XML配置文件的方式编写映射关系,但是这样太麻烦,每次修改class和表时都要去修改对应的XML文件,而且还容易出错,一定有疏忽遗漏的地方,还不容易找出错误,所以第二个项目中...更多的修改意味着更多的风险,为了减少这方面的风险,同时为了减少配置的工作量,所以最新的项目中采用了Fluent NHibernate中的Automapping。...我们只需要定义好映射的规则,就可以不对每个表和类分别编写映射配置,而是按照规则进行自动的Mapping工作。这样修改class或者DataTable时,只需要修改类和表即可,不需要再修改配置文件。...+“_ID” if (instance.Type == typeof(long))//接下来设置主键的生成方式HiLo值方式 { instance.GeneratedBy.HiLo

    1.1K10

    搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (四)配置全攻略

    现在我们开始我们的旅程: 第一步:配置实体类【Model】对应的数据库映射文件。Nhibernate中要求映射文件必须按照约定的文件命名格式进行命名。...至于放到什么项目中都可以,为了便于理解,我们把数据库表和实体类映射文件放到Model项目中。并建立一个专门的文件夹Mappings来存放映射文件。添加实体类映射数据库文件User.hbm.xml。...映射文件命名格式:类名.hbm.xml其实就是一个xml文件。下图是项目中的截图: User.hbm.xml文件代码: 的属性  将[生成操作] 设置嵌入资源 对于这部分简单说一下,这是我们Nhibernate操作数据库做铺垫。...网站项目下 我们web项目根目录下创建文件Configs。

    1K20

    2022年了有哪些值得推荐的.NET ORM框架?

    它解决了对象和关系型数据库之间的数据交互问题,ORM的作用是关系型数据库和业务实体对象之间作一个映射,这样我们具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法...  NHibernate 是一个成熟的开源对象关系映射器,适用于 .NET 框架。...SmartSql将管理你的 SQL ,并且通过筛选标签来维护本来你代码层面的各种条件判断,使你的代码更加优美。 主要特点:简洁、高效、高性能、扩展性、监控、渐进式开发!...架构上,它比 Dapper、Massive 或 PetaPoco 等微 ORM 高出一步,因为您使用 LINQ 表达式,而不是魔术字符串,同时代码和数据库之间维护一个薄抽象层。...内存高效- 它提取并缓存您的对象属性、执行上下文、对象映射和 SQL 语句。它在整个转换和执行过程中重用它们。 动态和混合- 它提供了成熟 ORM 的一些高级功能。

    5.9K11
    领券