如何在实体设计器中映射每个类型的表(TPT)继承?

2024-03-08

我在数据库中创建了大量表,以下是有问题的表:

Table Name -Item
    ItemID - PK (Auto Increment)
    Title        

Table Name -Game
    ItemID - PK
    Console   

Table Name -Film
    ItemID - PK
    Type

我还添加了 Item 的 ItemID 与 Film-Item 和 Game-Item 之间的关联

问题是,当我将其放入 Visual Studio 并使用实体框架时,它似乎在某种程度上折叠了类并完全删除了电影和游戏...然后我无法在我的 ASP 代码中使用游戏或电影作为实体,有什么想法如何解决这个问题吗?


是的,这就是实体设计器的行为方式。如果您在数据库中对结构进行建模并使用从数据库更新模型它确实会被建模为通用关联,因为 EF 还不知道您想要将其建模为继承。你会得到这个:

您必须手动修改此模型才能使用 TPT 继承。首先删除这两个关系。它还将删除导航属性,您将得到以下结果:

Use 遗产从工具箱(如上一个屏幕截图所述)并从Film to Item和来自Game to Item。现在你需要完成这个模型。当前模型将无法验证,因为ItemId映射到父实体和子实体中。删除ItemId来自两者Film and Game实体。您还可以将 Item 实体设为 Abstract,您将得到:

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

如何在实体设计器中映射每个类型的表(TPT)继承? 的相关文章

随机推荐

  • AVAudioPlayer 播放时游戏滞后

    我正在创建一个游戏 用户用喷气背包控制角色 当喷气背包与钻石相交时 我将钻石添加到它们的总数中 然后播放声音 然而 声音会使游戏暂停十分之一秒左右并扰乱流程 这是我正在使用的代码 var diamondSound NSBundle main
  • 从打字稿中的对象获取特定类型的所有键[重复]

    这个问题在这里已经有答案了 标题说明了一切 但最好举个例子 interface A key1 string key2 string key3 number type KeysOfType
  • 未找到 Media type=text/html 的 MessageBodyWriter,但适用于 JSON

    问题是 每当我尝试生成 JSON 以外的媒体类型响应时 我都会收到 MessageBodyWriter 未找到错误 但响应对于 Application JSON 输出效果很好 我在 Maven POM 中使用了多个依赖项 因此 Messag
  • 本地安装的 gulp 无法在命令行中运行?

    我是 Nodejs 和 gulp 的新手 我正在开发一个 Nodejs 项目 其中我必须对所有文件运行 jslint 我正在使用 gulp 来达到这个目的 我的问题是 为了在 cli 上运行 gulp 我不想全局安装 gulp 也不想更新我
  • SWIG 在 AIX 上崩溃(使用 python,可能还有其他所有 SWIG 支持)

    SWIG 在 AIX 上可以轻松编译和安装 不幸的是 一个简单的SWIG 你好世界 http www swig org tutorial html 也可以编译 但不是那么容易 因分段错误或非法指令而崩溃 取决于编译 链接器过程的一些细节 g
  • 有没有办法在父小部件上覆盖多个项目(PySide/Qt)

    我有一个主要的父窗口小部件 并且我想要在父窗口小部件之上有多个布局 使用父窗口小部件初始化布局会将布局放置在父窗口小部件的顶部 我喜欢这个 并且想为同一个父小部件多次执行此操作 左侧 顶部 底部和右侧 我使用了具有不同子布局的 QGridL
  • C++工作草案的措辞可能存在缺陷(整数转换等级规则)

    我发现其中可能存在矛盾标准C 工作草案 https eel is c draft 首先我陈述事实 最后提出我的问题 当 的时候整数转换等级成立 转化排名 1 1 http eel is c draft basic types conv ra
  • 在 PHP 中合并 XML 文件

    我有2个文件1 xml and 2 xml两者都有相似的结构 我想要一个 我尝试了很多解决方案 但只有错误 坦率地说 我不知道这些脚本是如何工作的 1 xml
  • Mongodb find方法可以动态查询吗?

    我是 mongodb 的初学者 所以如果有人建议我如何有效地编写以下查询 那就太好了 我有一个集合 其中包含位置和日期作为字段 搜索条件有4个 用户无需任何参数即可搜索 用户可以仅使用日期进行搜索 用户可以仅通过位置进行搜索 用户可以使用日
  • 删除 Azure Blob 存储容器内的文件夹

    我有一个名为 图片 并有一些名为 文件夹1 文件夹2 在它里面 所以我的 blob 的文件将这样处理 http optimus blob core windows net pictures Folder1 IMG123 png http o
  • Pytorch 说 CUDA 不可用(在 Ubuntu 上)

    我正在尝试在我拥有的笔记本电脑上运行 Pytorch 这是一个较旧的型号 但它确实有 Nvidia 显卡 我意识到这可能不足以实现真正的机器学习 但我正在尝试这样做 以便我可以了解安装 CUDA 的过程 我已按照上面的步骤操作安装指南 ht
  • 如何在symfony中动态填充下拉列表? (选择所在地区的城市)

    我解释一下我的问题 我必须创建一个表单 其中的下拉列表根据我们在之前的选择中填写 我有两个实体 一个Region可能有多个城市 ManyToOne 关系 我按照这里的文档进行操作如何使用表单事件动态修改表单 动态生成提交的表单 http s
  • 忽略时间戳日期的时间范围查询

    我正在尝试查询我的 Rails 数据库 Postgres 中的购买表 并且我想查询时间范围 例如 我想知道所有日期的下午 2 点到下午 3 点之间进行了多少次购买 有一个created at此表中的列 但我不知道如何在不搜索特定日期的情况下
  • Java,如何弹出一个只有图像的对话框?

    我正在尝试找到一种方法将 JDialog 的所有内容替换为简单的图像 它适用于我正在开发的项目的 关于 页面 我希望当用户单击 关于 部分时 以 JDialog 的样式弹出一个图像 并在失去焦点时消失 例子 http www howtoin
  • 将数据从一个电子表格复制到另一种保留格式且不带公式的数据

    我想要做的是将数据范围从一个电子表格复制到另一个电子表格 同时保留格式 颜色 样式等 并且仅采用不带公式的值 我已经有了这段代码 来自 Tanaike 之前的回答 并进行了一些修改 它保留格式但复制公式 我只需要值 Source var s
  • 如何更改 Python 中一组导入的名称?

    我想从名称更改的模块中导入所有方法 例如 而不是 from module import repetitive methodA as methodA repetitive Class1 as Class1 repetitive instanc
  • 在 Xcode 中为无法识别的选择器创建断点

    是否可以在 Xcode 中设置断点来停止调试器only在无法识别的选择器上 我有其他正在触发的异常 并且我只想在unrecognized selector例外 没有别的 设置符号断点 NSObject doesNotRecognizeSel
  • 添加图片到word文档

    我写了一个下面简单的word插件来将图像插入到word文档中 但是当我执行此代码时 图像不会添加到文档中 var img data image png base64 iVBORw0KGgoAAAANSUhEUgAAAH4AAAAsCAMAA
  • 如何解析维度字符串并将其转换为维度值

    我正在寻找一种动态转换字符串的方法 例如 30dp 转换为类似于像素数量的 int 这意味着StaticClass theMethodImSearchingFor 16px 会回来16 我的应用程序将动态获取这些字符串 我需要一种方法将其存
  • 如何在实体设计器中映射每个类型的表(TPT)继承?

    我在数据库中创建了大量表 以下是有问题的表 Table Name Item ItemID PK Auto Increment Title Table Name Game ItemID PK Console Table Name Film I