16

我可以找到一堆关于如何实现对模型优先和代码优先的枚举支持的教程,如下所示:

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

4

3 回答 3

14

我最终要做的是将数据库中的列类型更改为 int 然后我进入 edmx 并从数据库更新模型,然后我添加了一个枚举类型,然后将 edmx 设计器中的列类型更改为那个枚举。重新更新了 poco,一切正常!

于 2013-07-18T21:01:48.347 回答
11

您可能也应该阅读内容。

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

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

我见过 几个使用 T4 的解决方案,但在我的具体情况下,它只是给我的项目增加了不必要的复杂性。所以我会放弃,所以枚举代码优先。

于 2013-10-09T16:47:11.187 回答
4

这是我的猜测:从数据库生成 .edmx 文件后,您可以按照以下链接中的指南进行操作:http: //msdn.microsoft.com/en-us/data/jj248772.aspx

于 2013-07-18T18:57:20.350 回答