动态更改动态数据项目中的数据注释

Pra*_* VR 7 c# asp.net t4 entity-framework dynamic

我遇到了一个在动态数据Web应用程序中自定义DataAnnotations的场景.这是场景:

[Display(Name="DispName")]
public string DName{get;set;}
Run Code Online (Sandbox Code Playgroud)

我没有为Display DataAnnotation硬编码Name ="DispName",而是想从DataBase中获取一些值并使其适合于Name属性.喜欢:

[Display(Name=SomeValueFromDB)]    
public string DName{get;set;}
Run Code Online (Sandbox Code Playgroud)

有没有办法从数据库中显示Display DataAnnotation的Name属性而不是硬编码它的值?

另外,如何 根据表值更改ScaffoldColumn(True/false)

我可以使用T4模板吗?

提前致谢.

phi*_*ady 2

一般来说不会,属性会被编译并成为 CIL 元数据的一部分。为了调查这一点,这是一个很好的 SO 线程,它详细介绍了该主题。是否可以在运行时修改属性的属性?

就我个人而言,我认为您应该寻找另一种将标签传递到前端的方法,这样您就可以灵活地进行操作。例如包含标签和值的模型。