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

如何使用NHibernate将字符串列表映射到我的实体?

要使用NHibernate将字符串列表映射到实体,您需要遵循以下步骤:

  1. 首先,确保已安装NHibernate并配置好相关设置。
  2. 创建一个实体类,例如:
代码语言:csharp
复制
public class MyEntity
{
    public virtual int Id { get; set; }
    public virtual IList<string> StringList { get; set; }
}
  1. 创建一个用于映射实体的XML文件,例如:
代码语言:xml
复制
<?xml version="1.0" encoding="utf-8" ?><hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="YourAssemblyName" namespace="YourNamespace">
 <class name="MyEntity" table="MyEntityTable">
    <id name="Id" column="Id" type="Int32">
     <generator class="identity" />
    </id>
    <bag name="StringList" table="MyEntityStringListTable">
      <key column="MyEntityId" />
     <element column="StringValue" type="String" />
    </bag>
  </class>
</hibernate-mapping>

在此示例中,我们将使用一个名为“MyEntityStringListTable”的单独表来存储字符串列表。

  1. 确保已创建“MyEntityStringListTable”表,并且它具有以下列:
  • MyEntityId(外键,引用MyEntity表中的Id列)
  • StringValue(用于存储字符串值的列)
  1. 在您的NHibernate配置中添加对新创建的映射文件的引用。
  2. 现在,您可以使用NHibernate正常地查询和保存MyEntity实体,其中包括字符串列表。

请注意,这只是将字符串列表映射到实体的一种方法。根据您的具体需求,您可能需要调整此方法。

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

相关·内容

如何使用Fluent NhibernateAutomapping进行OR Mapping映射

由于在项目中使用NHibernate来作为ORMapping构建数据访问层,那么就必须要配置Object和DataTable映射。...,我们使用了Fluent NHibernateMapping方式代替XML配置。...使用Fluent NHibernate最大好处是降低了出错机会,因为Fluent Nhibernate配置是使用C#来编写,可以智能感知,而且还能编译,不像原始XML配置,写错了都不知道。...对于多对多关系,把两个类对应表名进行排序,排前面,然后两个表名连接起来,中间使用“_”分割。...TYPE列 } } 然后就是关于DiscriminateColumn中如何映射成对应Subclass,需要实现ISubclassConvention接口,代码如下: public class

1.1K10

Fluent NHibernate之旅二--Entity Mapping

本节内容: 简单实体映射 使用自定义类型映射实体属性 NHibernate实体映射(Entity Mapping)做非常好,虽然不是完美,但一些我们经常使用,基本上已经都支持了,而且配置也相对比较简单...Map(Expression> expression):与Id类似,对应NHibernateproperty,我这里只是简单映射,还有很多特性,在今后教程中会慢慢使用...二、使用自定义类型映射实体属性 NHibernate支持我们用自定义类型来映射属性,但因为我是初学,我真的不会,当然我在网上找到了相关资料,在此也不多说,就说说Fluent方式吧,在我映射自定义属性时候...为了接下来方便,我把FluentMapping都生成到我传统方式Mapping目录中,加入到项目,设置成嵌入资源,一切都为了以后教程,换句话说以后教程中,我一般都会使用Fluent来进行映射...不错不错,测试一切正常,今天代码就到这里。 总结 今天介绍了如何映射简单实体,但很多时候这都是理想数据设计,还有更多复杂,不可预计数据设计,这时候我们Fluent能做到吗?

1K90
  • NHibernate总结

    NHibernate不仅仅管理.NET 类到数据库表映射(包括.NET 数据类型到SQL 数据类型映射),还提供数据查询和获取数据方法,大幅度减少我们开发时人工使用SQL和ADO.NET处理数据时间...封装Nhibernate底层操作,People.cs为实体类,People.hbm.xml为映射文件(把数据库表People映射实体类People)。...virtual,要不然会报错 (4)     下面我们开始为People实体类进行数据库表映射配置People.hbm.xml NHibernate要知道怎样去加载和存储持久化类对象。...这正是NHibernate映射文件发挥作用地方。映射文件包含了对象/关系映射所需元数据。元数据包含持久化类声明和属性到数据库映射。...“内容”,这里需要修改为“嵌入资源”生成,因为NHibernate是通过查找程序集中资源文件映射实体

    92540

    NHibernate学习笔记之一,Hello world!

    NHibernate是一个面向.NET环境对象/关系数据库映射框架,主要应用在数据持久层,和其它ORM框架一样用来把对象模型表示对象映射到基于SQL关系模型数据结构中去。...准备工作: 需要使用.NET Framework 2.0或上以版本框架,准备NHibernate框架,本文使用3.3版,到目前NHibernate都还是基于.net framework 2.0,官方下载地址...2、新建项目并添加引用,NHibernate-3.3.0.GA-bin中“Iesi.Collections.dll”与“NHibernate”引用到项目中,如图2所示复制Configuration_Templates...文件夹中对应数据库配置文件,这里使用MSSQL,所以复制“MSSQL.cfg.xml”,并对NHibernate配置信息适当修改 。...3、编写实体类(POCO,Plain Old CLR Objects),映射文件包含POCO类映射到一个或者多个数据库表元数据信息。User.cs文件如下所示。

    60020

    Fluent NHibernate之旅(四)-- 关系(中)

    Fluent NHibernate之旅系列导航: 一、开篇:ISessionFactory Configuration 二、实体映射:Entity Mapping 三、继承映射:Inheritence...映射 不得不赞叹一下 Fluent Nhibernate ,有了它,我们映射一切都变得如此简单,先来看看Model吧,用户订单列表,对于用户来说,暂时是不需要排序,所以我们可以使用ISet作为Order...列表。...一对多映射,比起一对一来说还相对简单点,默认是延迟加载,如果项目中,有些地方,需要立即加载,我们也可以使用 FetchMode.Eager 来加载。...如果您在使用Fluent Nhibernate时候也遇到了问题,可以及时与我联系或求助于Fluent Google Groups。 应“亦续缘”要求,我把代码整理了下,发上来,便于大家学习。

    719100

    NHibernate 代码映射实体

    NHibernate 代码映射实体类 关于代码映射 NHibernate 3.2 自带了代码映射机制, 作为 xml 映射之外一种映射方式, 由于推出时间比较晚, 所以资料相对比较少, 而且与社区版...下面就通过一个实例来说明怎么使用 NHibernate 自带代码映射实体关系 要映射类关系图如下: ?...; 使用代码映射 使用 xml 做实体映射时, 推荐一个实体类对应一个 xml 文件, 用代码映射时也推荐这样, 一个实体类对应一个映射类, 一个映射类一个文件。...public ProductMapping() { // 此处添加映射代码 } } 映射到数据表 使用 Table 函数映射到制定数据表: Table("product")...; 标识映射 使用 Id 函数映射标识, NHibernate 提供了内置工具类来简化代码: Id( m => m.Id, map => { map.Column("id

    90510

    NHibernate详解

    开发过程: 1.新建一个将要持久化.Net对象表 2.构建一个需要被持久化.Net类 3.构建一个可以让NHibernate知道如何持久化对象属性映射文件...4.构建一个让NHibernate知道如何连接数据库配置文件 5.使用NHibernateAPI 第一步:写构建表SQL 这里我们将使用是一个非常简单例子...第三步:写映射文件 现在我们有数据表和需要去映射.Net类。我们需要一种方式去让NHibernate知道如何从一个映射到另一个。这个任务依赖于映射文件来完成。...第一个有趣标签是class。这里我们映射类型名称(类名,装配件)到我们数据库中User表,这里和Hibernate有一点点不同。你将不得不告诉NHibernate从何处提取对象。...那里有一堆属性你需要调整来确定如何NHibernate来访问数据库。再次说明,你可以在文档里获取更多信息。 NHibernate使用log4net来记录内部发生一切。

    68530

    NHibernate介绍「建议收藏」

    C#可用以解决对象/关系数据库映射工具有多种,常见有EF (Entity Framework)、NHibernate、iBATIS等,各自优缺点及适用场景在此不做讨论,本文只对如何使用NHibernate...NHibernate使用核心组件。...创建NHibernate映射文件 Nhibernate使用XML映射文件来映射POCO到数据库对象。虽然在很多案例中这可能是一对一关系,但这并不是必定。...class元素表示到单个POCO映射。name表示上面的程序集和命名空间中类名,table属性告诉NHibernate数据库中哪个表或者视图将被映射。...id元素告诉NHibernate哪个数据库字段和对应对象作为一个唯一键来使用。在本例中,我们使用Id这个字段。 generator元素告诉NHibernate怎样给新实体来创建唯一ID。

    70320

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

    如何选择合适自己ORM框架? 对于我们而言选择ORM框架目的其实都是为了让我们程序更好操作数据库,提高开发编程效率和程序维护拓展性。...主要特点: 支持 CodeFirst 模式,即便使用 Access 数据库也支持数据迁移; 支持 DbFirst 模式,支持从数据库导入实体类,或使用实体类生成工具生成实体类; 支持 深入类型映射,比如...  NHibernate 是一个成熟开源对象关系映射器,适用于 .NET 框架。...主要特点: 与Dapper一样,它很快,因为它使用动态方法生成 (MSIL) 列值分配给属性。 像Massive一样,它现在也支持动态 Expandos。...在架构上,它比 Dapper、Massive 或 PetaPoco 等微 ORM 高出一步,因为您使用 LINQ 表达式,而不是魔术字符串,同时在代码和数据库之间维护一个薄抽象层。

    5.9K11

    NHibernate实践与模式

    NHibernate实践与模式 NHibernate是一款非常优秀O/R mapping开源框架,再还没有.net时候它已经存在于java环境中。...下面我们先看一下它框架 工作原理 数据库表结构映射实体类(xml-mapping文件,实体类 ,class文件),支持一对多,多对一,多对多关系,默认生成对这些表CURD操作,包括多表脊联操作...先把业务实体抽象出来,包括需要实现功能,操作,返回信息,通过对业务实体。...然后再去创建数据库表,和UI部分; 我还是按在有数据表情况下如何NHibernate作开发 1.用MyGeneration创建实体类和mapping文件选择NHibernate lujan99 1.06...(session绑定到每个http请求上去), hibernate.cfg.xml(配置信息,包括数据库类型,连接字符窜,加载实体类程序集)。

    81240

    Fluent NHibernate RC 1.0 --升级内容

    Fluent NHibernate Release Notes 1.0 : http://wiki.fluentnhibernate.org/Release_notes_1.0 FNT在映射时候,分为...Fluent Mapping(手动)和Auto Mapping(自动)两种方式,我在我“Fluent系列”中一直使用是手动方式,我觉得相对应好控制,而且也让我同时能更好学习NHibernate。...这一次他们完全丢弃了SetAttribute方法,完全依赖Fluent方式来进行实体映射,所以很多特性我也不知道如何映射,不过这时候你还是可以区GoogleGroups求助一下,强烈建议大家把它收藏一下吧...不过还有不完美的,DiscriminatorValue(string value)这个方法,如果我们标识符是字符串类型,那还好,但像我这种枚举类型,不得不硬编码了。...3、忽略属性(IgnoreProperty),这个不错,在以前,我们自动映射时候每个属性不管要不要都映射了,在RC版,我们可以使用如下代码,忽略这些属性不进行映射,非常不错,赞一个。

    65050

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

    在上一篇我们已经三层基本搭建起来了。这篇中我们将要讲述怎样通过配置,三层通过IOC注入。现在我们开始我们旅程: 第一步:配置实体类【Model】对应数据库映射文件。...Nhibernate中要求映射文件必须按照约定文件命名格式进行命名。至于放到什么项目中都可以,为了便于理解,我们把数据库表和实体映射文件放到Model项目中。...并建立一个专门文件夹Mappings来存放映射文件。添加实体映射数据库文件User.hbm.xml。映射文件命名格式:类名.hbm.xml其实就是一个xml文件。...Nhibernate就是这样要求。我们按照模板来配置就行了。User.hbm.xml中配置是根据数据库中表和我们实体类User进行对应。这方面不多讲,可以参考Nhibernate官方文档。...一个就是连接字符串。我不用说了。另外一个就是:实体映射数据库文件hbm.xml文件所在项目名称一定要配置对了。 (2)HibernateDaos.xml用于配置Dao层xml文件。

    1K20

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

    如何选择合适自己ORM框架? 对于我们而言选择ORM框架目的其实都是为了让我们程序更好操作数据库,提高开发编程效率和程序维护拓展性。...主要特点: 支持 CodeFirst 模式,即便使用 Access 数据库也支持数据迁移; 支持 DbFirst 模式,支持从数据库导入实体类,或使用实体类生成工具生成实体类; 支持 深入类型映射...  NHibernate 是一个成熟开源对象关系映射器,适用于 .NET 框架。...主要特点: 与Dapper一样,它很快,因为它使用动态方法生成 (MSIL) 列值分配给属性。 像Massive一样,它现在也支持动态 Expandos。...在架构上,它比 Dapper、Massive 或 PetaPoco 等微 ORM 高出一步,因为您使用 LINQ 表达式,而不是魔术字符串,同时在代码和数据库之间维护一个薄抽象层。

    3.8K20

    Fluent NHibernate之旅(四)-- 关系(上)

    Fluent NHibernate之旅系列导航: 一、开篇:ISessionFactory Configuration 二、实体映射:Entity Mapping 三、继承映射:Inheritence...Mapping 今天我们说一下ORM中R映射,我们现在数据库大多都是关系型数据库了,所以可以说关系在我们数据库设计中也是非常重要部分,NHibernate也非常重视这一块,但在传统方式中,配置就比较麻烦...映射 Fluent NHibernate 映射代码: public class UserMap : ClassMap { public UserMap() {...ID与UserID是一致,所以我们要使用Foregin来获取UserID。...我们一对一简单映射也说完了,同时也完成了Component映射,接下来说说延迟加载 一对一延迟加载 细心朋友一定会发现我们output出来Sql语句,使用是联合查询,但有时对我们来说,只需要

    1.2K60

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

    前言 上一篇《C# 数据操作系列 - 11 NHibernate 配置和结构介绍》 介绍了Nhibernate配置内容。这一篇将带领大家了解一下如何使用NHIbernate。...之前提到NHibernate继承了Hibernate一些传统:使用XML文件进行配置,这一点也是备受争议。...NHibernate映射文件 对于NHibernate映射文件有个约定名字: .hbm.xml 这里先为大家介绍一下映射文件格式: 1.1 hibernate-mapping 说明 <hibernate-mapping...接下来,让我们探索class如何映射。 1.2.1 id 任何一个映射都必须声明一个数据表主键,大多数类也必须有一个唯一标示字段用来区分不同实例。...,不同地方在于一对一需要在双方映射关系里均要维护,在有外键表/实体中 添加 constrained=“true”。

    1.1K20
    领券