gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 15:26:55 24 4
gpt4 key购买 nike

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

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 中并使用 Entity Framework 时,它似乎有点折叠类并完全删除电影和游戏......然后我不能在我的 ASP 代码中使用游戏或电影作为实体,任何想法如何解决这个?

最佳答案

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

enter image description here

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

enter image description here

使用工具箱中的继承(如上一个屏幕截图所述)并从 Film 画一条线至Item来自 GameItem .现在你需要完成这个模型。当前模型将无法验证,因为 ItemId映射在父实体和子实体中。删除 ItemId来自FilmGame实体。您还可以将 Item 实体设为 Abstract,您将得到:

enter image description here

关于entity-framework - 如何在实体设计器中映射每个类型的表(TPT)继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5439273/

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