2010-05-04 72 views
6

我想知道实体框架在数据验证方面的一般建议是什么。我对EF来说是比较新的,但看起来有两种主要的数据验证方法。最佳实践 - 数据注释与实体框架中的OnChanging 4

首先是为模型创建一个部分类,然后执行数据验证并更新一组违规规则。这是在http://msdn.microsoft.com/en-us/library/cc716747.aspx

概述另一种是使用数据注释,然后使注释执行数据验证。 Scott Guthrie在他的博客http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx上解释了这一点。

我想知道一个优于另一个的好处是什么。看起来数据注释将是首选机制,特别是当你转向RIA服务时,但我想确保我不会错过任何东西。当然,没有任何东西不能将它们一起使用。

感谢

约翰

回答

1

我一直在使用使用MVC 2 DataAnnotations和它的伟大工程。我没有尝试用于验证的实体对象的部分,但我看到它的用途。基本上,如果我在一个实体对象上创建一个部分类,我将它用于缺省数据,比如一个GUID标识符。或创建日期或修改日期。我想在部分类中添加验证可能是有用的,可能需要在实体层中进行一些复杂的验证,但即使这样,验证也可以在自定义验证器中完成。如果您使用的是MVC网站,那么我会亲自使用数据注释。

+0

您如何看待Brad Wilson在这里提出的问题?我想我正在努力与数据注释,因为他们似乎太多的神奇:) http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet- mvc.html – 2010-05-06 11:48:35

+0

首先让我感谢你指出这篇文章。这是一个很好的。这是一篇关于如何以及为什么输入验证的设计更改在MVC1.0中更改为模型验证的内容丰富的文章。他的观点都是有效的,应该在设计阶段考虑。最后,数据注释并不神奇,它们只是您应用的属性属性,强制验证代码在绑定到模型时运行。 – 2010-05-06 13:12:53

+0

这个链接解释了我希望做的事情...... http://daniel.wertheim.se/2009/11/18/entity-framework-4-part-5-validation-using-dataannotations/ 将数据注释与服务层集成。我遇到了一些问题,因为我正在为Azure开发,3.5框架不支持Validator.TryValidateObject。 DOH! 谢谢 – 2010-05-07 22:50:15