如何在实体框架代码优先中执行T4模板以生成枚举
本文关键字:T4 枚举 执行 实体 框架 代码 | 更新日期: 2023-09-27 18:27:53
我有一个使用Entityframework Code First
的项目。该模型包含一些枚举,我想使用T4
文本模板从数据库中生成这些枚举。
但我面临一些挑战:
- 如果数据库还不存在,则不会生成枚举
- 如果数据库确实存在,如何运行
T4
模板 - 在运行
T4
模板之前,如何在数据库中获取枚举
以前有人这样做并克服这些挑战吗?
有一个NUGET包,它处理您试图解决的情况,ef enum to lookup。文档
从数据库初始值设定项或EF迁移中的Seed方法运行
EnumToLookup.Apply()
。
此包基于模型中使用的enums
创建查找表和外键约束。与默认的实体框架支持不同,您不需要为enum
类创建DBSet<T>
,它将enum
值映射到int
。