小编ssa*_*mko的帖子

实体框架核心 - 脚手架枚举

语境:

我使用数据库优先方法通过 Entity Framework Core 和脚手架生成实体。每次我更改数据库中的某些内容时,我都会使用-f参数运行脚手架来重写生成的实体。到目前为止,一切都很好。在我的数据库模式中,我有一些查找表,它们用作其他表的枚举,并且这些其他表上有外键。

问题:

我想从这些查找表生成枚举,我可以在代码中使用它们。这些枚举应由查找表中的数据(Id、Value)填充。这样的事情有可能吗?

我发现人们可以忽略实体生成中的那些表,并使用value-conversions链接它们自己的枚举。但这真的是唯一的出路吗?


我的数据库架构示例:

桌子:Category

ID 价值
0 有氧运动
1 力量
2 肥大

桌子:Exercise

ID 姓名 类别
0 硬拉 1
1 卧推 1
2 跑步 0

所以从表中Category我想生成简单的枚举:

public enum Category {
    Cardio = 0,
    Strength = 1,
    Hyperthrophy = 2
}
Run Code Online (Sandbox Code Playgroud)

然后我希望它在实体中使用,Exercise例如:

public partial class Exercise {
    public Exercise() {
    }

    public int Id { get; set; }
    public string Name { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# enums scaffolding ef-database-first entity-framework-core

5
推荐指数
1
解决办法
1261
查看次数