用于本地化的流畅 NHibernate 映射

2024-02-02

我正在尝试从 NHibernate 映射构建数据库,但遇到了问题。

我有许多具有本地化字符串值的类:

public class MyClass1 {
    public virtual int Id { get; set; }
    public virtual ShortString Name { get; set; }
    public virtual LongString Description { get; set; }
}

public class MyClass2 {
    public virtual int Id { get; set; }
    public virtual ShortString Name { get; set; }
    public virtual LongString Description { get; set; }
}

和像这样的语言

public class Language {
    public virtual string Code { get; set }
    public virtual string Name { get; set }
}

我的 ShortString 和 LongString 类看起来都一样:

public class ShortString {
    public virtual int Id { get; set; }
    public virtual IDictionary<Language, string> Values { get; set; }
}

我想要实现的是两个表(ShortString 和 LongString),如下所示:

TABLE ShortString
-----------------
Id (int)
LanguageCode (nvarchar(8))
Value (nvarchar(256)) (or ntext for the LongString Table)

...以 Id 和 LanguageCode 作为主键以及语言表的外键。

在 MyClass1 和 MyClass2 表中,我希望将 NameId (int) 和 DescriptionId (int) 列分别映射到 ShortString 和 LongString 表。

我完全被困住了。我怎样才能实现这个目标?


也许你可以完全放弃短绳和长绳

public class MyClass1 {
    public virtual int Id { get; set; }
    public virtual IDictionary<Language, string> Name { get; set; }
    public virtual IDictionary<Language, string> Description { get; set; }
}

public class MyClass2 {
    public virtual int Id { get; set; }
    public virtual IDictionary<Language, string> Name { get; set; }
    public virtual IDictionary<Language, string> Description { get; set; }
}

并使用以下映射

public class MyClass1Map : ClassMap<MyClass1>
{
    public MyClass1Map()
    {
        [...]
        HasMany(mc => mc.Name)
            .Table("ShortString")
            .KeyColumn("id")
            .AsEntityMap("language_id")
            .Element("value")
        HasMany(mc => mc.Description)
            .Table("LongString")
            .KeyColumn("id")
            .AsEntityMap("language_id")
            .Element("value", e => e.Length(1000))
    }
}

我现在无法品尝,所以可能需要调整

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

用于本地化的流畅 NHibernate 映射 的相关文章

随机推荐

  • 从给定列表中选择随机字符串

    我试图让 Java 从给定列表中选择 1 个随机字符串 字符串列表的示例 1153 3494 9509 2 0 0 0 0 1153 3487 9509 2 0 0 0 0 1153 3491 9525 2 0 0 0 0 1153 346
  • 使用 *ngFor 索引将多个迭代分组在一行中

    我一直在尝试构建一个具有多列的动态输入对话框 基本上有一个字段列表 我想为每两个字段构造一行 我的尝试看起来像这样 甚至不确定这是否可能 div div class row div div class col 3 div div div d
  • 通过 Facebook 应用程序在用户墙上发布帖子

    我需要从 facebook 用户个人资料图片生成一张图片并将其发布到一些用户的墙上 例如 attch array 媒体 gt 数组 数组 类型 gt 图像 源 gt https graph facebook com https graph
  • SQLAlchemy 记录日期和用户的更改

    这与另一个 3 年前的问题非常相似 查看 SQLAlchemy 事务 包括经过身份验证的用户等 的通用方法是什么 https stackoverflow com questions 1862029 whats a good general
  • 在 Android Studio 中配对蓝牙设备

    我正在创建一个应通过蓝牙连接到特定设备的应用程序 我希望我的应用程序能够与该设备连接 无论它是否已配对 现在我有这个 private void findDevice Set
  • 在不使用 contenteditable 的情况下,防止 Firefox iframe 中的选择显示为灰色

    在 Firefox 3 及更高版本 可能还有更旧的版本 中 在 iframe 中选择内容似乎总是使用当前没有焦点的文档所使用的灰色选择背景颜色 即使 iframe 确实有焦点 我发现的唯一例外是 iframe 中的内容是可编辑的 在其他浏览
  • Graphx 可视化

    我正在寻找一种方法来可视化在 Spark 的 Graphx 中构建的图 据我所知Graphx没有任何可视化方法 所以我需要将数据从Graphx导出到另一个图形库 但我被困在这里 我遇到了这个网站 https lintool github i
  • SQL Server JDBC 的驱动程序类名是什么

    我想将我的 Java Spring Boot 应用程序连接到 SQL Server 并得到 Spring 无法加载驱动程序类的信息 我试过 spring datasource driver class name com microsoft
  • 如何在网页中隐藏 javascript 代码?

    当通过浏览器的 查看源代码 功能查看源代码时 是否可以从网页的 html 中隐藏 Javascript 代码 我知道可以混淆代码 但我更喜欢它hidden从查看源功能 我不确定其他人是否真的直接解决了您的问题 即从浏览器的 查看源代码 命令
  • 版本陷入“已拒绝”状态

    我想删除我们用于测试的旧发布模板 以清理发布管理 但是当我尝试停用模板时 我收到以下消息 要停用此版本模板 任何使用此版本的版本 模板必须具有以下状态之一 已发布 已放弃 好吧 这个消息是有道理的 我必须完成一些未完成的版本 要么完成该过程
  • 如何将 Postman 集成测试与 TeamCity 集成

    我正在 Postman 中构建一套集成测试来测试一些 RESTful API 我想在 TeamCity 中构建项目时运行这些测试 我正在考虑使用纽曼命令行集成 但我没有找到很好的例子 谁能建议一种方法来实现这一点 我能够使用 newman
  • 以编程方式关闭特定包的 java.util.logging

    我正在使用一个 SDK 它使用阿帕奇CXF http cxf apache org 内部 Apache CXF 使用java util logging默认情况下用于日志记录的包 我想更改日志记录级别INFO to WARNING或完全关闭它
  • 使用 chai-http 和 Jest 进行测试时,如何从 api 返回响应

    我正在尝试使用下面的代码测试我的节点 api 索引端点 索引 test js const chai require chai const chaiHttp require chai http const server http localh
  • Java 异常 - 线程“main”中的异常 java.lang.NoClassDefFoundError: net/sourceforge/tess4 j/Tesseract

    我试图让事情与 tess4j OCR 算法 一起工作 并且我使用以下代码 import java awt image RenderedImage import java io File import java net URL import
  • 复制 .docx 并保留图像

    我正在尝试将文档的元素从一个文档文件复制到另一个文档文件 文本部分很简单 图像是棘手的地方 附加图像来解释文档的结构 只有一些文本和 1 张图像 from docx import Document import io doc Documen
  • Xcode:如何将 MP4 文件转换为音频文件

    我想将应用程序文档文件夹中的 MP4 文件转换为音频文件 mp3 或 m4a 我已经尝试过 但无法使用 AVPlayer 播放转换后的 MP3 文件 这是我的代码 void convertMP4toMP3withFile NSString
  • Android 中的 Google 地图上的标记闪烁

    我刚刚开始Android应用程序开发 按照本教程开发了Google地图应用程序并在Google地图上添加了标记 http mobiforge com developing story using google maps android ht
  • 获取用户头像大小的照片

    我正在使用 C 开发 Facebook 网站应用程序 我可以使用以下方式获取信息 FacebookClient FBApp new FacebookClient getAccessToken dynamic user FBApp Get m
  • g++编译错误

    我是 Ubuntu 的新手 我尝试编写一个简单的 Hello World Ubuntu 11 04 中的 c 代码 该代码 在终端中 gcc Wall W Werror tex cpp o tex 但编译器返回了很多错误 tmp ccL8c
  • 用于本地化的流畅 NHibernate 映射

    我正在尝试从 NHibernate 映射构建数据库 但遇到了问题 我有许多具有本地化字符串值的类 public class MyClass1 public virtual int Id get set public virtual Shor