3

我刚刚进入EF。在过去的 2 年里,我一直在手动编写数据库代码,最终厌倦了它。在将枚举与 EF 一起使用时我遇到了一个问题我以前编码的所有枚举都使用了显示属性,因此当在 xaml 中绑定到数据表单或任何其他控件时,将显示友好名称而不是代码名称。EX 显示“Light Brown”而不是“LightBrown 或 light_brown”等。枚举设计器所允许的只是设置值和名称。有没有办法让这些自动枚举在绑定时显示不同的名称?

[Display(Name="Light Brown")]
Light_Brown,

编辑 我不是在寻找如何将枚举名称转换为更友好的名称。我已经知道该怎么做。我的问题是访问使用实体框架设计器自动生成的枚举的自动生成代码。似乎有一种方法可以引用外部代码文件,所以我将对此进行研究。

4

2 回答 2

3

在堆栈上找到了一个问题和答案。您可以通过使用设计器中的“引用外部类型”选项来规避此问题。这只是在您使用实体框架的数据库优先设计而不是模型优先设计的情况下的解决方案。

Entity Framework 5 Enums with Description 属性使用 Database First

作者在他的问题的评论下回答了他自己的问题。

于 2013-08-06T00:30:06.397 回答
2

尝试使用

[Description("Light Brown")]
Light_Brown,

查看此答案,您可能需要添加转换器。

于 2013-08-05T23:57:07.263 回答