Entity Framework Core:如何创建自动链接表?

问题描述 投票:0回答:1

也许这是一个愚蠢的问题。在我的

.NET8
C#
Entity Framework Core
项目中,我有一些表存储要在下拉列表中显示的项目,我在应用程序的不同部分使用它们。

例如,我有表 tbl_BrainExplanationstbl_SmokeTypes,其中包含我要显示的列表。其他表可以有多个项目:例如,我可以将 3 种不同类型的烟雾链接到 SessionInitialDetails 中的单个记录。这是图表。

enter image description here

tbl_SmokeTypes的简单定义是

[Table("tbl_SmokeTypes")]
public class SmokeType
{
    public long ID { get; set; }
    public string? Name { get; set; }
}

当我想将表链接到我编写的代码中的SessionInitialDetails

public virtual ICollection<SmokeType>? SmokeTypes { get; set; }

public virtual List<SmokeType>? SmokeTypes { get; set; }

因此,Entity Framework Core 为 tbl_SmokeTypes 创建一个表,其中还包含一个名为

SessionInitialDetailID
的字段,但这不是我想要的。因此,我自己为名为 tbl_BrainExplanations 的实体创建了一个新实体,以将该表中的多个记录关联到另一个名为 SessionDetails 的表(不在图中)。

我期望 Entity Framework Core 在定义

ICollection
IList
时自行创建一个连接表。但显然,事实并非如此。那么,我必须自己创建连接表还是实体框架 COre 可以做到这一点?

c# entity-framework-core
1个回答
0
投票

我认为答案是要么你使用这个属性:

[ForeignKey

这是如果您有一个与数据库匹配的 dto 层。

如果情况并非如此,那么我认为你需要引入一个与 dto 层不同的模型层。

© www.soinside.com 2019 - 2024. All rights reserved.