Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将显示属性设置为E.F.生成的枚举?_C#_Entity Framework - Fatal编程技术网

C# 如何将显示属性设置为E.F.生成的枚举?

C# 如何将显示属性设置为E.F.生成的枚举?,c#,entity-framework,C#,Entity Framework,我刚刚进入EF。在过去的两年里,我一直在手工编写数据库代码,最终我对它感到厌倦。当涉及到将枚举与E.F一起使用时,我遇到了一个问题。我以前编码的所有枚举都使用显示属性,以便在xaml中绑定到数据表单或任何其他控件时,将显示友好的名称而不是代码名。EX显示“浅棕色”而不是“浅棕色或浅棕色”等。枚举设计器只允许设置值和名称。有没有办法让这些自动枚举在绑定到时显示不同的名称 [Display(Name="Light Brown")] Light_Brown, 编辑 我不是在研究如何将枚举名称转换为更

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

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

尝试使用

[Description("Light Brown")]
Light_Brown,

查看此项,您可能需要添加一个转换器。

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

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

可能重复的