在EF6中使用数据注释

时间:2017-03-26 13:18:37

标签: wpf annotations entity-framework-6 ef-database-first

我正在使用WPF和Database First Entity Framework 6模型。由于它是数据库优先的,因此在创建的模型中没有KeyRequired等数据注释。由于所有创建的class都是partial,因此我可以轻松地手动添加数据注释。这有什么副作用吗?这实际上是一种好习惯吗?

1 个答案:

答案 0 :(得分:1)

  

这有什么副作用吗?

不,不是我能看到的。除非有一些代码在运行时评估属性,否则属性本身并没有真正改变或意味着什么。

在ASP.NET MVC中,默认模型绑定器为您执行此操作,但在WPF中,框架不会自动评估数据注释。您可以在视图模型类中自己完成此操作。有关如何执行此操作的更多信息,请参阅以下博客文章:https://blog.magnusmontin.net/2013/08/26/data-validation-in-wpf/

  

这实际上是一种好习惯吗?

数据注释实际上并不是WPF内置数据验证功能的一部分。验证的最佳实践是在视图模型类中实现INotifyDataErrorInfo。但是实现本身当然可以使用上面链接中描述的ValidationContext类来评估实体/模型类的数据注释。如果您实际在WPF应用程序中使用带注释的数据实体类,我认为这是一种很好的做法。