简而言之......
我正在尝试找到一种方法来为通过ADO.NET实体数据模型创建的类中的属性添加一些属性,以便在我需要更新数据库时不必总是手动添加它们。
明细......
我创建了一个用于创建表单的类,该表单动态地填充了用于编辑属性的控件。输入值是具有要编辑的公共属性的对象。输出是一个类似Control的面板控件,它包含用于属性编辑的dinamically创建的控件。 这个概念可以很容易地应用于asp.net,Silverlight或经典的独立应用程序。
创建控件基于属性的类型。 例如,如果属性是某种整数数据类型,则该类创建TextBox控件。如果它是Bool然后创建一个复选框,如果它是引用表的键而不是创建ComboBox或其他类型的外部窗口进行选择。
在某些情况下,数据类型不足以描述属性的内容,因此我决定使用属性(C#)。
我的代码工作正常,但是当更新源数据库的时候到来时(当我重新创建.edmx文件时),我丢失了所有的Attributes和META参数。
我想知道是否有人知道如何使这项工作更加自动化并简化维护。
也许扩展已创建的类是解决方案,但每当源上的某些内容发生更改时,这是一项额外的工作。
答案 0 :(得分:2)
您可以为实体使用元数据类,并将属性附加到元数据类
这个article描述了如何使用metadataclass属性进行验证,但是一旦你知道如何获取属性,你应该能够使用现有的代码。