gpt4 book ai didi

entity-framework - Entity Framework 代码首先创建 "discriminator"列

转载 作者:行者123 更新时间:2023-12-03 05:30:35 25 4
gpt4 key购买 nike

我正在使用 EF CF 方法创建一个带有 MySQL 的网站。由于某种原因,EF 在我的 Post 表中创建了一个名为“Discriminator”的列,并包含 VARCHAR“Post”。

为什么要创建这个专栏?我可以做些什么来避免它被创建吗?拥有此专栏有什么好处吗?

最佳答案

Discriminator Table-Per-Hierarchy 中使用并需要列继承场景。例如,如果您有一个这样的模型...

public abstract class BaseEntity
{
public int Id { get; set; }
//...
}

public class Post : BaseEntity
{
//...
}

public class OtherEntity : BaseEntity
{
//...
}

...并制作 BaseEntity模型的一部分,例如添加 DbSet<BaseEntity>对于您的派生上下文, Entity Framework 默认情况下会将此类层次结构映射到单个表中,但会引入一个特殊列 - Discriminator - 区分此表中存储的不同类型( PostOtherEntity )。此列将填充类型的名称(再次 PostOtherEntity )。

关于entity-framework - Entity Framework 代码首先创建 "discriminator"列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7393788/

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