我正在使用WPF和Database First Entity Framework 6模型。由于它是数据库优先的,因此在创建的模型中没有Key
或Required
等数据注释。由于所有创建的class
都是partial
,因此我可以轻松地手动添加数据注释。这有什么副作用吗?这实际上是一种好习惯吗?
答案 0 :(得分:1)
这有什么副作用吗?
不,不是我能看到的。除非有一些代码在运行时评估属性,否则属性本身并没有真正改变或意味着什么。
在ASP.NET MVC中,默认模型绑定器为您执行此操作,但在WPF中,框架不会自动评估数据注释。您可以在视图模型类中自己完成此操作。有关如何执行此操作的更多信息,请参阅以下博客文章:https://blog.magnusmontin.net/2013/08/26/data-validation-in-wpf/。
这实际上是一种好习惯吗?
数据注释实际上并不是WPF内置数据验证功能的一部分。验证的最佳实践是在视图模型类中实现INotifyDataErrorInfo。但是实现本身当然可以使用上面链接中描述的ValidationContext
类来评估实体/模型类的数据注释。如果您实际在WPF应用程序中使用带注释的数据实体类,我认为这是一种很好的做法。