流畅的 NHibernate 将 IList 作为值映射到单列

2024-04-13

我有这门课:

public class MyEntity
{
    public virtual int Id { get; set; }
    public virtual IList<Point> Vectors { get; set; }
}

我怎样才能绘制地图Vectors在 Fluent NHibernate 中到单个列(作为值)?我在想这个:

public class Vectors : ISerializable
{
    public IList<Point> Vectors { get; set; }

    /* Here goes ISerializable implementation */
}

public class MyEntity
{
    public virtual int Id { get; set; }
    public virtual Vectors Vectors { get; set; }
}

是否可以绘制地图Vectors像这样,希望 Fluent NHibernate 能够初始化Vectors类作为标准 ISerialized?

或者我还能怎么映射IList<Point>到单个列?我想我必须自己编写序列化/反序列化例程,这不是问题,我只需要告诉 FNH 使用这些例程。

我想我应该使用IUserType or ICompositeUserType,但我不知道如何实施它们,以及如何告诉FNH合作。


找到了答案。 :-)

Heading UserTypeConvention<T> at:
http://wiki. Fluentnhibernate.org/Available_conventions http://wiki.fluentnhibernate.org/Available_conventions
用于自定义类型转换。

这是为了实现自定义类型转换器:
http://intellect.dk/post/Implementing-custom-types-in-nHibernate.aspx http://intellect.dk/post/Implementing-custom-types-in-nHibernate.aspx

我发现的其他相关链接:
http://www.lostechies.com/blogs/rhouston/archive/2008/03/23/mapping-strings-to-booleans-using-nhibernate-s-iusertype.aspx http://www.lostechies.com/blogs/rhouston/archive/2008/03/23/mapping-strings-to-booleans-using-nhibernate-s-iusertype.aspx
http://www.martinwilley.com/net/code/nhibernate/usertype.html http://www.martinwilley.com/net/code/nhibernate/usertype.html
Link https://web.archive.org/web/20210127201844/http://geekswithblogs.net/opiesblog/archive/2006/08/13/87880.aspx
http://kozmic.pl/archive/2009/10/12/mapping- Different-types-with-nhibernate-iusertype.aspx http://kozmic.pl/archive/2009/10/12/mapping-different-types-with-nhibernate-iusertype.aspx
Link https://web.archive.org/web/20100516024604/http://blogs.msdn.com:80/howard_dierking/archive/2007/04/23/nhibernate-custom-mapping-types.aspx

UserTypeConvention<T> usage:
http://jagregory.com/writings/ Fluent-nhibernate-auto-mapping-type-conventions/ http://jagregory.com/writings/fluent-nhibernate-auto-mapping-type-conventions/

最后一个链接中最重要的代码是这样的:

public class ReplenishmentDayTypeConvention : ITypeConvention
{
  public bool CanHandle(Type type)
  {
    return type == typeof(ReplenishmentDay);
  }

  public void AlterMap(IProperty propertyMapping)
  {
    propertyMapping
      .CustomTypeIs<ReplenishmentDayUserType>()
      .TheColumnNameIs("RepOn");
  }
}

Where ReplenishmentDayUserType is IUserType-派生类和ReplenishmentDay是类,应该使用用户类型转换器进行转换。

和这个:

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

流畅的 NHibernate 将 IList 作为值映射到单列 的相关文章

  • 如果.Net Core可以在Windows上运行,为什么不能在.Net Framework中引用.Net Core DLL?

    我明白为什么 Net Framework 可能会在 Net Core IE 中导致问题 因为不存在特定于 Windows 平台的 API 但是为什么不能直接引用 Net Core 作为 Net Framework 中的库呢 如果 Net C
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 是否有与 C++11 emplace/emplace_back 函数类似的 C# 函数?

    从 C 11 开始 可以写类似的东西 include
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • C# 创建数组的数组

    我正在尝试创建一个将使用重复数据的数组数组 如下所示 int list1 new int 4 1 2 3 4 int list2 new int 4 5 6 7 8 int list3 new int 4 1 3 2 1 int list4
  • 如何排列表格中的项目 - MVC3 视图 (Index.cshtml)

    我想使用 ASP NET MVC3 显示特定类型食品样本中存在的不同类型维生素的含量 如何在我的视图 Index cshtml 中显示它 an example 这些是我的代码 table tr th th foreach var m in
  • Silverlight Datagrid:在对列进行排序时突出显示整个列

    我的 Silverlight 应用程序中有一个 DataGrid 我想在对该列进行排序时突出显示整个列 它在概念上与上一个问题类似 Silverlight DataGrid 突出显示整列 https stackoverflow com qu
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 如何检测 C# 中该字典键是否存在?

    我正在使用 Exchange Web 服务托管 API 和联系人数据 我有以下代码 即功能性的 但并不理想 foreach Contact c in contactList string openItemUrl https service
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 运行代码首先迁移更新数据库时出错

    我在迁移到数据库时遇到问题 并且似乎找不到我遇到的错误的答案 System MissingMethodException Method not found System Data Entity Migrations Builders Tab
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • boost::program_options:带有固定和可变标记的参数?

    是否可以在 boost program options 中使用此类参数 program p1 123 p2 234 p3 345 p12 678 即 是否可以使用第一个标记指定参数名称 例如 p 后跟一个数字 是动态的吗 我想避免这种情况
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12

随机推荐

  • 无法在 urllib.request 中使用 https 代理

    我使用 python 创建了一个脚本urllib request申请https其中的代理 我尝试过如下操作 但遇到了不同类型的问题 如urllib error URLError
  • 如何为独立的 Illuminate IoC 容器创建 Illuminate/Support/Facade/App Facade

    在我的独立 没有 Laravel 项目中 我想使用 Illuminate IoC 容器 我还想通过访问应用程序容器App外观由提供illuminate support成分 我安装了这两个组件 v5 0 28 这是我的 简化的 代码 func
  • 从扩展类调用时,groovy 中的闭包不能使用私有字段

    我有一个 groovy 课程 其中有一个私有字段和一个方法 在该方法中 我调用 http 服务 并在其中传递一个闭包来处理响应 像这样的事情 class WebUiRestRequestSender private String jSess
  • 删除“if”语句的大括号是否有任何例外?

    我是一名计算机科学专业的学生 前段时间我们的教授向我们解释说 在 C 语言中 当只有一个语句时 我们可以删除大括号 例如 if a do b 但我们不能这样做 if a do b do c 因为那会做不止一个声明 但它也告诉我们 删除大括号
  • 在汇编器中导出优化的 strlen?

    以下代码能够确定 DWORD 的一个或多个字节是否设置为 0 mov eax value mov edx 07EFEFEFFh add edx eax xor eax 0FFFFFFFFh xor eax edx and eax 08101
  • numpy 数组上的余数函数 (%) 运行时间远远长于手动余数计算

    在过去的几天里 我一直致力于改进 python 函数的运行时 该函数需要多次使用余数函数 等 我的主要测试用例是超过 80 000 个元素的 numpy 数组 单调递增 迭代次数为 10000 次 尽管我也尝试过各种其他大小 最终我发现余数
  • 如何在python中终止进程之前执行代码?

    这个问题涉及 python 中的多处理 我想在终止进程时执行一些代码 更具体地说 是在终止进程之前执行一些代码 我正在寻找一种解决方案atexit register对于Python程序 我有一个方法工作者 看起来 def 工人 而真实 打印
  • 在自己的目录中安装 WordPress 但永久链接失败

    我在 EC2 上安装了 WordPress 位于 var www html wordpress 我按照 WordPress 指南将 index php 和 htaccess 复制到根目录 即 var www html 并修改了index p
  • 在 R: lme4::glmer 中指定逻辑混合模型中重复测量的随机效应

    我正在寻找反馈 以确定如何正确指定随机效应来解释重复测量设计中的相关性 但具有多个相关性级别 包括纵向数据 对于每个预测变量组合 结果是二元的 所以我将拟合逻辑混合模型 我本来打算使用glmer 函数从lme4包裹 如果您想知道这些数据是如
  • SQL if语句在where子句中用于搜索数据库

    我正在创建一个存储过程来返回搜索结果 其中某些参数是可选的 我想要一个 if 语句 where条款但无法使其发挥作用 这where子句应仅按非空参数进行过滤 这是 sp ALTER PROCEDURE spVillaGet Add the
  • 如何淡入隐藏的 JavaFX 标签

    如何在隐藏项目上添加精美的 JavaFX 事件 例如 当我显示隐藏标签时 我想使用 淡入淡出 效果 由单击按钮触发 调用下面的方法时如何添加效果 FXML private void handleButtonAction ActionEven
  • 使用带有 unicode 的 xhtml2pdf 时遇到问题

    我一直在尝试转换希伯来语 html 文件但没有成功 无论我尝试何种编码 希伯来语字符在输出 PDF 中都会显示为黑色矩形 我尝试了 pisa 发行版中包含的一些 unicode 测试文件 pisa 3 0 33 test test unic
  • ASP.Net Identity 2 通过短信重置密码

    我希望在重置密码时向用户发送短信 我已经具备发送短信的功能 我只需要有关如何使用 Identity 2 0 进行设置的指南 我似乎无法在网上找到任何有用的信息 参考代码本身也没有正确注释 我想生成一个安全代码 将其发送给用户 然后他必须将其
  • sp改变时函数导入

    我正在使用实体框架的函数导入功能从 net 4 0 代码调用存储过程 但是 每次更改存储过程结果集时 我都必须删除函数导入并再次添加 有什么方法可以通过更改实体模型中的代码来合并更改 而不必再次删除并添加函数导入 谢谢 使用函数导入时 一些
  • Oracle 主键:NUMBER 与 NUMBER(7,0)

    指定 PK 的精度有什么好处吗 鉴于记录可能永远不会超过几千条 7 0 是否足够 不指定精度有什么危险吗 NUMBER 7 0 只是限制了值域 它们的内部表示没有不同 CREATE TABLE t pk col1 NUMBER 7 0 NO
  • 访问数据库表单 ActiveX 控件错误

    我正在使用一个带有日期选择器控件的表单 当打开表单并单击日期选择器控件 MSCOMCT2 OCX 时 我收到以下无用的错误 您输入的表达式 Change 作为偶数属性设置 产生以下错误 加载 ActiveX 时出错 控制您的一份表格或报告
  • save_and_open_page 不适用于水豚 2.0?

    我刚刚将水豚更新到 2 0 并且所有 save and open page 调用都返回一个没有样式的 html 页面 它在页面顶部正确地提供了样式表链接 当我恢复到水豚 1 3 时 样式再次起作用 有人知道如何解决这个问题 和 或问题是什么
  • Android底层读取大于2GB的SD卡

    我的 Android 应用程序尝试通过访问实际设备 在我的例子中为 dev block vold 179 1 来读取 SD 卡的物理扇区 当然这是在有root权限的手机上 我可以将设备打开为FileInputStream 并从中读取数据 但
  • 获取我的 Facebook 页面上粉丝的用户列表 GRAPH API

    如何获取我的 Facebook 页面上粉丝的用户列表 遗憾的是 目前无法获取您的 Facebook 页面的粉丝列表 目前尚不清楚这是设计使然还是错误 This 脸书错误报告 http bugs developers facebook net
  • 流畅的 NHibernate 将 IList 作为值映射到单列

    我有这门课 public class MyEntity public virtual int Id get set public virtual IList