流畅的NHibernate-ClassMap继承?

2024-03-09

在之前的一个问题中 https://stackoverflow.com/questions/4251687/splitting-nhibernate-entity-row-storage-across-multiple-tables(与 Fluent NHibernate 无关 - 由于我的问题,我已切换)我概述了我遇到的表布局问题,我需要根据它们来自哪个国家/地区将我的列表实体拆分到多个表中。这是出于性能原因 - 实际上,我想要 Listing_UK、Listing_FR 等的表。

现在,我以为我会用 Fluent 中大奖,而且我已经完成了 90%,但我却陷入了困境。我有一个 Listing 类和一个继承它的 Listing_UK 类。因此,类似:

Listing testListing = new Listing_UK() as Listing

工作正常。然而,我在 ClassMap 上犯了错误。我本来打算创建一个静态 void 来为所有表进行映射,如下所示:

public static void DoMap(ClassMap<Listing> map) {
        map.Id(x => x.ListingCode)
            .GeneratedBy.HiLo("10000");
    }

但我需要将 ClassMap 转换为 ClassMap

才能将其传递 - 但我不能。像这样的东西(尽管它本身没有意义)不起作用:

ClassMap<Listing> test = new ClassMap<Listing_UK> as ClassMap<Listing>

我有什么想法可以优雅地处理这个问题吗?


好的,经过一番深入的谷歌搜索后,我找到了解决方案。希望这能帮助那些最终遇到与我相同情况的人:

http://geekswithblogs.net/nharrison/archive/2010/07/09/inheriting-a-class-map-in- Fluent-nhibernate.aspx http://geekswithblogs.net/nharrison/archive/2010/07/09/inheriting-a-class-map-in-fluent-nhibernate.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

流畅的NHibernate-ClassMap继承? 的相关文章

  • 如何使用 NHibernate 高效地进行 TDD?

    在我看来 大多数人在使用 NHibernate 时都会针对内存中 进程内数据库 例如 SQLite 编写测试 我已经启动并运行了它 但我的第一个测试 使用 NHibernate 总是需要 3 4 秒才能执行 下一个测试运行得更快 我使用 F
  • 在运行时扩展/修改 NHibernate 类

    很抱歉 如果已经有一个正确的答案 但我还没有找到 我正在使用 NH3 并且有一个用例 我想将 Set 添加到类实现特定接口的任何实体上 我有一个配置生成器类 因此我可以在创建会话工厂之前进行这些更改 鉴于这个简化的例子 public cla
  • 使用单向多对多映射进行删除级联

    我正在使用 Fluent 和 NHibernate 我有两个对象 A 和 B 它们之间具有多对多关系 当 A HasMany B 时 我使用单向多对多映射 B中没有关于A 单向 的参考 这会在数据库中创建第三个表 名为 ABMapping
  • Fluent nHibernate 和 asp.net MVC 入门

    我考虑使用 Fluent nhibernate 通过我的 asp net mvc web 应用程序进行数据访问 任何描述如何使用 asp net mvc web 应用程序设置 Fluent nHibernate 的好文章 This seri
  • Fluent NHibernate——使用复合键保存实体

    首先 我有下表 CREATE TABLE CustomerHub CustomerId INT NOT NULL HubId INT NOT NULL 我已将其映射到该实体 public class CustomerHub public i
  • 将 HasMany 和 ManyToMany 关系公开为 IEnumerable

    目前 在我的实体中 我将集合公开为 IList 但我一直在考虑将它们公开为 IEnumerable 以防止用户手动添加到集合中 我为这些操作添加了特定的内容 以便我可以确保我的双向关系保持完整 在这种情况下 我想到了几个问题 如果我将它们公
  • FluentNHibernate 和枚举

    我有一个名为 Permissions 的枚举 可以为用户分配权限 或者可以将权限分配给角色并为用户指定角色 用户和角色都有这样的属性 public virtual IList
  • NHibernate SchemaUpdate 在生产代码中安全吗?

    为了简单起见 我在运行时将 Fluent NHibernate 的 Automapping 与 NHibernate 的 SchemaUpdate 结合使用 每次运行时 Automapper 都会为所有实体类创建映射 而 SchemaUpd
  • Fluent NHibernate:ManyToMany 自引用映射

    我需要帮助为这种情况创建正确的流畅 nh 映射 类别可以是一个或多个类别的子类别 因此 导致该实体 public class Category Entity IAggregateRoot EntitySignature public vir
  • 使用 NuGet 安装 NHibernate 3.2

    我是 NHibernate 的新手 一直在尝试使用 NuGet 来启动和运行它 Fluent NHibernate 和 NProf 读完这篇文章后 http gurustop net blog 2011 03 13 nhibernate 3
  • 为什么 nhibernate 3.3 不允许 ICollection 上的私有 setter?

    我从 nhibernate 3 2 升级到 nhibernate 3 3 并且在我的域类中定义了很多虚拟成员 如下所示 public virtual ICollection
  • 升级到 NHibernate 3.1 时 NHibernate 映射中断

    我最近刚刚升级到 FluentNHibernate 1 2 它使用 NHibernate 3 1 升级后 我的一些旧映射无法正常工作 我一直很难弄清楚为什么 我想也许这里有人可以提供帮助 我有 3 个课程 练习 练习和练习练习 一个练习可以
  • NHibernate 表更新事件

    我有这个表映射 我认为细节并不重要 WithTable COPACKER FACILITY Id x gt x FacilityNumber FACILITY NUM GeneratedBy Sequence FACSEQ Map x gt
  • Fluent NHibernate - 将属性映射到连接表上的列

    我有几张桌子 例如 产品 Id 名称 制造商 ID 制造商 ID 名称 我希望能够在我的产品对象上包含ManufacturerName 而不是当我只需要名称时必须加载整个制造商行 我的产品地图看起来像 Table Product Id x
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 是否可以在不改变作为框架一部分的 DDD 模型的情况下使用 NHibernate

    我挖掘了很多关于DDD方法 无处不在的语言 聚合 存储库等 我认为 与我读到的很多内容相反 实体应该有行为而不是不可知论 我看到的所有例子都倾向于呈现实体虚拟自动属性 and an 空构造函数 受保护或最糟糕的是公开 就是这样 我认为这种对
  • NHibernate - 无法延迟初始化角色集合

    我有以下看似简单的场景 但我对 NHibernate 仍然很陌生 当尝试在我的控制器上加载以下模型以进行编辑操作时 控制器的编辑操作 public ActionResult Edit Guid id return View reposito
  • NHibernate:将一个类映射到两个相同的表

    我需要将一个实体映射到两个表 Invoice 和 InvoiceHistory 我不能将两个数据库表合并为一个并添加一个状态列来区分它们 这两个表具有完全相同的结构 但是 正如名称所示 InvoiceHistory 保留旧发票的历史记录 而
  • 尽管 HQL 获取,Nhibernate 仍然生成代理

    我有以下 HQL 语句 select distinct t from TaskEntity as inner join fetch t Case as c inner join fetch c Client as client inner
  • Fluent NHibernate 中的 NHibernate 配置属性

    我正在考虑在我的项目中使用 Fluent NHibernate 但我还没有找到任何关于 FH 是否支持 NHibernate 设置 例如 show sql 和prepare sql 的文档 我可以在紧要关头没有 show sql 生活 但p

随机推荐