gpt4 book ai didi

c# - 如何让 EF Core 数据库首先使用枚举?

转载 作者:可可西里 更新时间:2023-11-01 07:49:33 25 4
gpt4 key购买 nike

我将 EF Core 与数据库优先方法结合使用,使用“Scaffold-DbContext”命令生成我的 DbContext/实体。

我如何指示 Scaffold-DbContext 某个中的某个字段应该生成代码以使用 Enum 而不仅仅是 int?

这就是您过去在常规 EF 中的做法: https://www.devu.com/cs-asp/lesson-69-mapping-enum-types-entity-properties-framework-designer/

例子

此枚举已在代码中定义:

public enum StateEnum {
Ok = 1,
Fail = 2
}

这就是 Scaffold-DbContext 给我的东西

public partial class Foo
{
public int Id { get; set; }
public int State { get; set; }
}

这就是我想要它创建的:

public partial class Foo
{
public int Id { get; set; }
public StateEnum State { get; set; }
}

最佳答案

从 Entity Framework Core 2.1 开始,EF 支持 Value Conversions专门解决需要将属性映射到不同类型进行存储的场景。

特别是对于枚举,您可以使用提供的 EnumToStringConverterEnumToNumberConverter

关于c# - 如何让 EF Core 数据库首先使用枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44262314/

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