如何在桌面应用程序中使用DataAnnotations

时间:2011-11-23 10:58:07

标签: entity-framework validation data-annotations modelstate modelmetadata

当我们通过EF使用MVC(f.e。)时,我们可以使用ModelState.IsValid来检测model是否可以传递DataAnnotations元数据。但是如何在桌面(win-forms / wpf)应用程序中使用DataAnnotations元数据?

更多

实际上,我想创建一个与ModelState相同的对象(一个可以保存与每个属性和消息关联的属性和消息的字典)。然后,将DAL包裹在validation-layer中,在VL中使用元数据来验证模型,VL可以在任何项目中使用。我知道我应该使用反射器,但我没有任何经验。感谢任何帮助和建议。

1 个答案:

答案 0 :(得分:1)

如果您使用的是EF 4.1 / 4.1 dbcontext,它有一个内置的验证API,可以检查Data Annotation规则以及IValidatableObject.Validate。我不太确定我理解你的目标,但如果要在数据层中进行验证,那么你可以使用内置的内容。(这里是概述http://msdn.microsoft.com/en-us/data/gg193959)。

如果您希望自己的验证器与数据层分开,请查看System.ComponentModel.DataAnnotations命名空间,以获取可用于自行验证的方法和其他逻辑。