首先支持实体框架数据库

TMa*_*Man 14 .net enums entity-framework edmx .net-4.5

我可以找到一堆关于如何首先实现模型的枚举支持和类似的代码的教程:

http://msdn.microsoft.com/en-us/data/jj248772.aspx

http://msdn.microsoft.com/en-us/data/hh859576.aspx

任何人都可以向我解释或向我提供有关如何正确实现数据库第一个应用程序的枚举支持的一些说明.我想我必须从edmx设计器开始,右键单击表格中的一个列并转换为枚举?谢谢你的建议.我正在使用.NET 4.5和Enity Framework 5.0

TMa*_*Man 13

我最后做的是在数据库中将列类型更改为int然后我从数据库进入edmx和更新模型,然后我去添加了枚举类型,然后将edmx设计器中的列类型更改为类型那个枚举.重新创建了poco,一切都很好!


Dav*_*nto 10

你也应该读这个.

通过Database-First操作不会在模型中创建枚举类型

  • 从现有数据库创建EDM时,模型中未定义枚举.
  • 从数据库更新模型将保留您的Enum类型声明,但同样,不会检测数据库中的Enum构造.

我见过 几个使用T4 的解决方案,但在我的具体情况下,它只是为我的项目增加了不必要的复杂性.所以我会先输入enums代码.

  • 我同意不必要的复杂性.我的模型中有很多枚举,每当表被删除/读取时重新配置类型都非常烦人,特别是当你的枚举类型是外部的时候.我也"放弃"并使用枚举代码优先.也许将来我们会有更好的数据库优先枚举支持. (4认同)