gpt4 book ai didi

c# - Entity Framework 中的继承 - 每个具体类的表?

转载 作者:太空宇宙 更新时间:2023-11-03 16:52:43 25 4
gpt4 key购买 nike

我有一个包含文章和博客表的现有数据库。这些有共同的列,如标题、作者在两个表中重复。我想利用 Entity Framework 创建一个包含公共(public)属性的内容实体,这样我就可以继承文章和博客实体中的内容实体。

我的想法是,我可以说好吧,只要把过去 10 天内网站上的所有内容都给我,我不在乎它是博客还是文章。然后,当我需要实际获取一篇文章时,我会去获取特定的实体。

我已经建立了一个内容实体库并引入了所有常见的博客和目标属性。问题是我想在目录中说什么。我有两个映射,一个映射到博客表,一个映射到文章表,EF 提示说它无法确定要转到哪一个。我希望添加条件来执行此操作,但如果我添加博客特定条件(未在我的基类中列出),它会提示找不到映射。

我提出我的第一个问题是,我是否完全倒过来看待这个问题,以便让我的内容实体从文章表和博客表中获取数据?

谢谢

菲尔

编辑:添加模型和数据库模式

alt text alt text

最佳答案

我不熟悉实体,但您能否在数据库中创建一个 View ,其中包含所有公共(public)数据以及一个额外的键,该键将记录标识为博客或文章。

然后您可以将 View 添加到您的实体模型,使用它来实现您的“获取过去 10 天的内容”用例,然后当您需要更多详细信息时,使用您添加到 View 的额外键来确定是否您需要转到博客或文章实体。我知道这不像您想要的那样干净整洁,但它可以完成这项工作。

关于c# - Entity Framework 中的继承 - 每个具体类的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3373544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com