实体框架代码首先将同一类型的多个复杂类型映射到一个表

2024-04-26

如果您有以下域模型:

public class Test
{
    public string Description { get; set; }

    public TestB A { get; set; }
    public TestB B { get; set; }
    public TestB C { get; set; }

}

public class TestB
{
    public string Name { get; set; }
    public string Description { get; set; }
}

您有一个具有以下结构的表:

Test
 - Description
 - NameA
 - DescriptionA
 - NameB
 - DescriptionB
 - NameC
 - DescriptionC

其中名称和描述对映射到复杂类型 B 的单个实例。

假设数据库模式无法更改,是否有任何方法可以纯粹使用流畅的 API 来定义此映射?

我让它以合理的方式工作的唯一方法是派生 TestB 的子类型并像这样映射它们:

        modelBuilder.ComplexType<TestB>().Property(x => x.Name).HasColumnName("NameA");
        modelBuilder.ComplexType<TestB>().Property(x => x.Description).HasColumnName("DescriptionA");

        modelBuilder.ComplexType<TestB1>().Property(x => x.Name).HasColumnName("NameB");
        modelBuilder.ComplexType<TestB1>().Property(x => x.Description).HasColumnName("DescriptionB");

我不想纯粹为了映射到实体框架而定义派生类型。


None

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

实体框架代码首先将同一类型的多个复杂类型映射到一个表 的相关文章

  • lambda 始终返回“1”

    有这样的代码 include
  • 我可以在 WinRT / Windows 8 Store 应用程序中绑定 DynamicObject

    我有以下代码 public class MyClass DynamicObject INotifyPropertyChanged Dictionary
  • 将整数四舍五入到最接近的 10 倍数[重复]

    这个问题在这里已经有答案了 我想弄清楚如何对价格进行四舍五入 双向 例如 Round down 43 becomes 40 143 becomes 140 1433 becomes 1430 Round up 43 becomes 50 1
  • float.Parse 不再在 Unity 中工作 (C#)

    我有一个包含以下代码行的工作项目 public InputField mass float val float Parse mass text 非常简单 用户输入一定量的质量 然后将其从文本解析为浮动 几天前这工作得很好 我什至能够多次导出
  • Python NET 调用具有返回值和输出参数的 C# 方法

    我有以下静态 C 方法 public static bool TryParse string s out double result 我想使用 Python NET 包从 Python 调用它 import clr from System
  • C 或 C++ 中是否有轻量级的多部分/表单数据解析器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在考虑将多部分表单数据解析集成到 Web 服务器模块中 以便可以减轻后端 Web 应用程序 通常用动
  • 使用正在运行的进程的共享内存收集核心转储

    核心转储仅收集进程空间 而不收集为进程间通信创建的共享内存 如何使核心转储也包含正在运行的进程的共享内存 设置核心文件过滤器 proc PID coredump filter per http man7 org linux man page
  • 恢复多个监视器的窗口大小/位置

    许多帖子都涉及恢复 WinForm 位置和大小 例子 www stackoverflow com questions 92540 save and restore form position and size http www stacko
  • 我应该在查询时调用 ToListAsync()

    不久前 我开始接触 C 并正在寻找一些如何编写代码的最佳实践 现在 我正在使用 EF Core 并具有以下代码 var details dbContext Details Where x gt x Name Button foreach v
  • 策略模式的现实示例

    我一直在读关于OCP原理 http en wikipedia org wiki Open closed principle以及如何使用策略模式来实现这一目标 我打算尝试向几个人解释这一点 但我能想到的唯一例子是根据 订单 的状态使用不同的验
  • .NET 配置(app.config/web.config/settings.settings)

    我有一个 NET 应用程序 它具有用于调试和发布版本的不同配置文件 例如 调试 app config 文件指向开发SQL服务器 http en wikipedia org wiki Microsoft SQL Server它启用了调试并且发
  • 引用计数指针的STL类?

    这应该是微不足道的 但我似乎找不到它 除非不存在这样的类 智能指针的 STL 类 或类集 是什么 UPDATE 感谢您的回复 我必须说我很惊讶没有标准实施 我最终使用了这个 http archive gamedev net referenc
  • 创建 .ICS 文件,添加到 Outlook

    我正在创建一个简单的应用程序 允许用户下载 ICS 文件 并将其导入到他们选择的日历应用程序 站点中 我对创建过程感到满意 但对在 Outlook 中打开它们有疑问 将使用C ASP NET进行开发 当我打开一个日历时 它会添加一个新日历
  • 串行端口轮询和数据处理

    我正在尝试通过微控制器从传感器的多个串行端口读取数据 每个串口将接收超过2000个测量值 每个测量值7个字节 全部为十六进制 而且他们同时开火 现在我正在从 4 个串行端口进行轮询 另外 我将每个测量值转换为字符串并将其附加到字符串构建器
  • 接口作为类型约束和接口作为参数之间的区别?

    如果我想创建一个采用实例的方法IList作为参数 或任何其他接口 但让我们使用IList作为一个例子 我可以创建一个带有类型约束的通用方法 例如 public static void Foo1
  • 带有 epgm 的 ZeroMQ PUB/SUB 无法接收同一主机上进程发送的消息

    我的所有进程都有两个套接字 一个 PUB 和一个 SUB 并且它们都使用相同的多播地址和端口 例如 PUB 会这样做 绑定 epgm 239 192 1 1 5555 SUB 将执行以下操作 连接 epgm 239 192 1 1 5555
  • C++ 中的 Ofstream 数组

    我想要在我的项目中使用 41 个输出文件来在其上写入文本 首先创建一个字符串数组list为了命名这些输出文件 然后我尝试定义一个 ofstream 对象数组并使用list命名它们 但我收到此错误 outfile cannot be used
  • 通过 boost::python 将 C++ 对象传递给 python 函数

    我想在 C 应用程序中使用嵌入 python 并调用 python 脚本中定义的函数 该函数的参数是一个 C 对象 看我的代码 class Test public void f std cout lt lt sss lt
  • C 警告函数调用中缺少标记

    这是我的警告 Missing sentinel in function call 我怎样才能删除它 我正在使用 linux 和 gcc 编译器 看来您可能没有终止数组声明NULL 如果没有 null 您可能会遇到一些内存怪异 因为运行时将不
  • C# 泛型中的通配符等效项

    假设我有一个通用类 如下所示 public class GeneralPropertyMap

随机推荐

  • 在VS2008中使用wpf透明png

    我想在 WPF VS2008 中制作一个半透明的 UI 因此我将表单设为透明 并想在其顶部显示一个半透明 png 其中包括 孔 如何显示半透明png 半透明 意味着它有可以看到的孔 另外 我如何在 C 中完成此操作 而不使用 WPF Tha
  • 未找到“GuzzleHttp\Client”类

    我同时使用Guzzle http guzzle readthedocs org en latest 并首次推出 Codeigniter 3 0 我也承认我是第一次使用 php 命名空间 我正在尝试根据文档中提供的示例使用 Guzzle 发出
  • GenJar 更换或更新?

    GenJar 是一个专门的 Ant 任务 它基于类依赖关系而不是简单地基于目录的内容构建 jar 文件 http genjar sourceforge net http genjar sourceforge net 确实有用 但是项目好像不
  • Django 无法导入设置

    我正在尝试在我的项目中使用 django admin dbshel l 任何其他 cmd 都会给出相同的结果 我得到了 You must either define the environment variable DJANGO SETTI
  • Powershell脚本运行缓慢

    我正在编写一个脚本来检查大约 15 个远程服务器上的版本 但该脚本的执行时间比我预期的要长得多 listServers compName1 compName2 compName3 compName15 Out File C temp jav
  • 如何轻松区分/比较 TFS 中的 2 个搁置集?

    有没有一种方法可以比较 TFS 中的 2 个搁置 而不必在单独的工作区中取消搁置并比较文件 我一直在寻找相同的东西 即比较两个书架的内容 而不需要取消其中之一的书架 最终为该功能编写一个 Visual Studio 扩展 该扩展适用于 Vi
  • 使用 WinForms 绘制宽线时出现 OutOfMemoryException

    这个太疯狂了 我只画了几千条线OnPaint处理程序 没有问题 当pen Width lt 1 或者当屏幕上没有很多行时 好的 我画了一张比例尺地图 线宽随地图缩放 当我缩放一些地图时 我得到OutOfMemoryException WHY
  • 在第三方网站的 iframe 中访问时,未为子域设置 Django csrf cookie

    到目前为止 我的应用程序运行良好 所有操作都是通过访问其公共 IP 来完成的 现在 它被添加到主站点 名称为 app mainsite com 这样就可以访问了 我可以登录等等一切 但我的应用程序有点特别 它的某个功能允许用户在任何第三方网
  • Android中如何获取经度和纬度

    我想找到我当前位置的经度和纬度 但我一直得不到NULL double lat loc getLatitude Cause the result is null so can t know longitude and latitude dou
  • 按给定的时间增量查找数据帧列中的时间戳

    我有一个包含时间戳列的数据框 我的目标是找到每行的第一个时间戳 该时间戳大于该行的时间戳给定的偏移量 例如 0 01 秒 我尝试使用这里给出的答案 https stackoverflow com questions 32237862 fin
  • 如何使用 Angular Elements 创建具有可自定义模板的 Web 组件?

    我想使用 Angular Elements 创建一个 Web 组件库 该库具有默认模板 但允许开发人员覆盖输出 例如 考虑一个搜索结果组件 我可能有一个如下所示的默认模板 h1 Search results for query h1 但开发
  • React Native 中组件之间的导航

    我需要在 React Native 的两个视图之间导航 但问题是我的组件 其中导航按钮位于其他组件上 我使用反应导航 我来给你展示 我在这里有我的组件 MainPage class MainPage extends Component re
  • 查找 NumPy 数组中到最近零的距离

    假设我有一个 NumPy 数组 x np array 0 1 2 0 4 5 6 7 0 0 在每个索引处 我想找到到最接近的零值的距离 如果位置本身为零 则返回零作为距离 之后 我们只对到当前位置右侧最接近的零的距离感兴趣 超级天真的方法
  • 选择选项“selected”属性

    我这里脑子一片空白 基本上我所做的是创建一个迷你文章管理器 每篇文章都可以分配到在选择下拉列表中定义的以下类别之一 Design 发展 Other 当我去编辑一篇文章时 我从数据库中检索了数据并填充了输入和文本区域 我现在想做的是应用sel
  • AWS 签名的 URL 太长,无法缩短

    我正在使用 AWS 创建一个签名 URL 以便我可以安全地将此 URL 传递给另一个 API 以供临时使用 签名的 URL 指向 S3 资源 问题是其他 API 不接受这么长的链接 因此我正在尝试缩短它 我尝试使用类似的缩短器goo gl
  • Android Studio 音乐播放器无法从 SD 卡读取,只能读取内存

    如果这被证明是一个愚蠢的问题 我深表歉意 这可能是一个快速解决方案 但我就是无法弄清楚 我正在 android studio 中构建一个音乐播放器 尽管我确实实现了 getExternalStorageDirectory 并在清单文件中添加
  • Shutterfly 订单 API 。

    我找到了这个网站 http www shutterfly com documentation api OrderImage sfly http www shutterfly com documentation api OrderImage
  • 在 Hedera 区块链中创建智能合约时出现错误“Transaction Oversize”

    我的 bin 文件大小只有 18kb 我还得到了使用 IPFS 的解决方案 但不知道如何使用它 如果有任何使用 IPFS 的参考 请分享给我 错误 PrecheckStatusError 交易 电子邮件受保护 cdn cgi l email
  • IPython Notebook 中的“斑马表”?

    我正在 IPython 中使用用于交互式分析的出色 Notebook 和 Pandas 构建一些交互式工作流程 我显示的一些表格通过一些格式化会更容易阅读 我真的很喜欢像 斑马桌 这样的东西 每隔一行都有阴影 我在这里读 http dev
  • 实体框架代码首先将同一类型的多个复杂类型映射到一个表

    如果您有以下域模型 public class Test public string Description get set public TestB A get set public TestB B get set public TestB