如何执行T4模板以在Entity Framework Code First中生成枚举

时间:2014-10-25 21:55:16

标签: c# entity-framework enums t4

我有一个使用Entityframework Code First的项目。该模型包含一些枚举,我想使用T4文本模板从数据库中生成这些枚举。

但我面临一些挑战:

  • 如果数据库尚不存在,则不会生成枚举;
  • 如果数据库存在,如何运行T4模板?
  • 如何在运行T4模板之前获取数据库中的枚举?

以前是否有人这样做并克服了这些挑战?

1 个答案:

答案 0 :(得分:2)

有一个NUGET包来处理你要解决的案例,ef-enum-to-lookupDocumentation

  

在数据库初始化程序或EF迁移中从Seed方法运行EnumToLookup.Apply()

此包根据模型中使用的enums创建查找表和外键约束。与默认的实体框架支持不同,您不需要为DBSet<T>类创建enum,将enum值映射到int