语境:
我使用数据库优先方法通过 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