当我们通过EF
使用MVC
(f.e。)时,我们可以使用ModelState.IsValid
来检测model
是否可以传递DataAnnotations
元数据。但是如何在桌面(win-forms / wpf)应用程序中使用DataAnnotations
元数据?
更多
实际上,我想创建一个与ModelState
相同的对象(一个可以保存与每个属性和消息关联的属性和消息的字典)。然后,将DAL
包裹在validation-layer
中,在VL
中使用元数据来验证模型,VL
可以在任何项目中使用。我知道我应该使用反射器,但我没有任何经验。感谢任何帮助和建议。
答案 0 :(得分:1)
如果您使用的是EF 4.1 / 4.1 dbcontext,它有一个内置的验证API,可以检查Data Annotation规则以及IValidatableObject.Validate。我不太确定我理解你的目标,但如果要在数据层中进行验证,那么你可以使用内置的内容。(这里是概述http://msdn.microsoft.com/en-us/data/gg193959)。
如果您希望自己的验证器与数据层分开,请查看System.ComponentModel.DataAnnotations命名空间,以获取可用于自行验证的方法和其他逻辑。