流畅的 Nhibernate AutoMapping 继承和忽略抽象属性

2024-05-21

我有一个已成功映射的继承结构

产品(基础)

PdfProduct(继承自Product)和OtherProduct(继承自Product)

这些工作正常,我之前用 hbm.xml 文件做过类似的事情。

在上一个项目中,当我试图找出产品是什么类型时,我遇到了问题,但我无法做到这一点,因为它是代理(产品是 PdfProdcut)。

为了解决这个问题,我向基本 Product 添加了一个抽象属性,并在返回枚举器的其他类中重写了它。

当我使用 xml 映射执行此操作时,我只是没有映射“类型”列,一切都很好。

现在我尝试自动映射继承关系,它自动将抽象属性映射到子类,但这不是必需的,因为它不在数据库中。

我有什么想法告诉它忽略这些吗?由于子关系没有生成映射,因此我不确定将忽略语句放在哪里。

任何帮助都会受到极大的欢迎。


Fluent NHibernate 有一个忽略属性方法,您可以在设置中使用:

.ForTypesThatDeriveFrom<Product>(p => p.IgnoreProperty(x => x.Type))

顺便说一下,我们通过在基类中添加一个 Self 属性来解决这个问题。此属性将始终返回正确的(非代理)类型:

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

流畅的 Nhibernate AutoMapping 继承和忽略抽象属性 的相关文章

随机推荐

  • CoAP数据包的大小是多少?

    我是这项技术的新手 有人可以帮助我了解一些疑问吗 Q 1 CoAP数据包的大小是多少 我知道有 4 字节固定标头 但是包括标头 选项和负载在内的最大大小限制是多少 Q 2 有像MQTT那样的Keep Alive的概念吗 它在UDP上工作 它
  • Python 无法导入名称

    我花了大半夜的时间试图解决导入错误 这是一个常见问题 但之前的问题都没有完全回答我的问题 我正在使用 PyDev 一个 Eclipse 插件 和 Kivy 库 一个 Python 库 我的文件结构设置如下 code init py main
  • 在node.js中生成密码重置令牌

    如何在 node js 中生成可在 url 中使用的密码重置令牌 我只需要生成令牌的方法 user reset password token user reset password expire expire date 编辑 这是解决方案
  • 表情符号未正确保存在 mongodb 中

    我正在将 Twitter 和 Instagram 上的表情符号保存到我的 mongodb 数据库中 但是当我显示从数据库中提取的数据时 表情符号看起来像这样破损了 在将数据保存到 mongodb 期间我需要做一些不同的事情吗 我是 mong
  • Pandas:将类别转换为数字

    假设我有一个包含国家 地区的数据框 如下所示 cc temp US 37 0 CA 12 0 US 35 0 AU 20 0 我知道有一个 pd get dummies 函数可以将国家 地区转换为 one hot 编码 但是 我希望将它们转
  • 如何根据“配置管理器”创建自己定义的常量?

    当我选择 调试 配置时 DEBUG常数处于活动状态 当我选择 释放 配置时 DEBUG常量处于非活动状态 我如何创建自己的配置 以便它们包含我自己定义的常量 基本上 我想要这样 如果我选择配置 FOOBAR 就会有一个常量FOO and B
  • Gitlab Runner Docker 登录在连接期间无法正常工作错误:Post http://docker:2375/v1.40/auth: dial tcp: Lookup docker on 67.207.67.3:53

    我在 gitlab runner 上使用 docker executor 作为我正在使用的图像docker stable我收到此错误 docker login gitlab mydomain com 5050 u myusername p
  • 调用模块中的导入

    我仍在学习 python 在玩完 pygame 之后 我注意到我正在重新导入我已经导入的模块中的内容 import pygame 例如 我在单独的文件中有一些类 但我还必须将 pygame 导入到该文件中才能使它们正常工作 它实际上导入代码
  • 为什么我的方法没有清除 ArrayList?

    注意 我的代码的问题很简单 我创建了清除矩形和所有内容的方法 但我做错的唯一一件事是在 go 方法内部实例化 DrawPanel 类的 myDraw 对象 因此 我必须使用 Stop 再次实例化 DrawPanel 这会创建一个全新的对象
  • OpenGL:伽玛校正图像看起来不线性

    我使用 OpenGL 进行渲染 当我将线性值写入默认帧缓冲区 没有任何伽玛校正 时 它们在我的显示器上显示为线性 这违背了我认为我所知道的关于伽马校正的一切 如下所述 http gamedevelopment tutsplus com ar
  • 在另一个字符串中查找子字符串的索引 Haskell

    我要创建一个带有两个参数 字符串 的函数 该函数应查看第一个参数是否是第二个参数的子字符串 如果是这种情况 它将返回每个出现的元组 其中包含子字符串的起始索引和子字符串的结尾索引 例如 f String gt String gt Int I
  • 在浏览器中运行 Kotlin HTML Builder

    我是一名 Java 开发人员 对 Kotlin 非常陌生 不过我喜欢这门语言 而且我喜欢用它可以轻松地完成 Web 应用程序 问题是我无法弄清楚如何在浏览器中运行 Kotlin HTML 构建器文件 以便我可以在 kotlin 中创建基本的
  • 使用按钮在表单之间传递变量[重复]

    这个问题在这里已经有答案了 我想知道如何将一个整数从 form1 传递到 form2 我尝试通过打开 form2 的按钮来执行此操作 但事件按钮单击无法识别整数 我该怎么办 在form1中 我有整数x 我希望当我单击button1时 for
  • ZipArchive 提取 - 单个文件

    我有以下代码 ipaFile path file ipa iconFilePath Payload myapp app email protected cdn cgi l email protection the pathway to my
  • .NET 字符串.替换

    我很生气 通常 我喜欢像 C 中那样进行替换 但是是否有一种 C 风格的替换 它一次仅替换一个字母或我指定的 X 数量 不 BCL 中不存在仅替换字符的单个实例的 Replace 方法 两个主要的 Replace 方法将替换所有出现的情况
  • FBFriendPickerViewController 未显示所有好友

    我正在使用 FBFriendPickerViewController 在我的 iOS 应用程序中显示要邀请的朋友列表 它仅显示安装了该应用程序的好友列表 为什么是这样 我还在我的应用程序中直接与 Facebook sdk 交互 以使用 Gr
  • 分配给 numpy 结构化数组

    我必须以某种方式将结构化数据转换为 numpy 结构化数组形式 我读了我能找到的关于这个主题的少量 抱歉 SciPy 草率的文档 但仍然一无所获 基本上我想做一些像这样的简单的事情 import numpy as np dt contact
  • 在 JMeter 中,“将响应保存到文件”中,如何在将自定义后缀附加到文件名末尾的同时增加文件名

    在 JMeter 中 当使用 将响应保存到文件 来存储 http 响应时 如何在将自定义后缀附加到文件名末尾的同时增加文件名 这是我的场景 使用记录控制器和 HTTP S 测试脚本记录器记录文件转换和从网站下载的 http 流量 然后 我将
  • 如何使用 zbar 获取图像上检测到的二维码的 x、y 位置?

    我在下图的两个二维码中编码了数字1639 可下载 here https i stack imgur com c0FVK jpg 我打印了它 拍了一张照片并尝试检测它 import zbar from PIL import Image sca
  • 流畅的 Nhibernate AutoMapping 继承和忽略抽象属性

    我有一个已成功映射的继承结构 产品 基础 PdfProduct 继承自Product 和OtherProduct 继承自Product 这些工作正常 我之前用 hbm xml 文件做过类似的事情 在上一个项目中 当我试图找出产品是什么类型时