2010-05-04 7 views
6

Me preguntaba lo que la recomendación general es para el marco de la entidad en términos de validación de datos. Soy relativamente nuevo en EF, pero parece que hay dos enfoques principales para la validación de datos.Buenas Prácticas - Anotaciones de datos vs OnChanging en Entity Framework 4

La primera es crear una clase parcial para el modelo, y luego realizar validaciones de datos y actualizar una colección de violaciónes regla. Esto se describe en http://msdn.microsoft.com/en-us/library/cc716747.aspx

La otra es utilizar las anotaciones de datos y luego hacer que las anotaciones realizar la validación de datos. Scott Guthrie explica esto en su blog al http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx.

Me preguntaba cuáles son los beneficios de una sobre la otra. Parece que las anotaciones de datos serían el mecanismo preferido, especialmente a medida que pasas a los Servicios de RIA, pero quiero asegurarme de que no me falta algo. Por supuesto, nada impide usar ambos juntos.

Gracias

John

Respuesta

1

que han estado utilizando DataAnnotations utilizando MVC 2 y funciona muy bien. No he probado el parcial en un objeto de entidad para la validación, pero veo sus usos. Básicamente, si creo una clase parcial en un objeto de entidad, la uso para datos predeterminados, como un identificador de GUID. o crear fecha o fecha modificada. Supongo que sería útil agregar validaciones en la clase parcial, tal vez para alguna validación compleja que deba ocurrir en la capa de entidad, pero incluso esas validaciones podrían lograrse en un validador personalizado. Si está utilizando un sitio web de MVC, yo personalmente usaría dataannotations.

+0

¿Qué opina sobre la cuestión planteada por Brad Wilson aquí? Creo que estoy luchando con las anotaciones de datos, ya que parecen demasiada magia :) http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet- mvc.html –

+0

Primero permítanme agradecerles por señalar este artículo. Fue una buena. Este es un artículo informativo sobre cómo y por qué cambió el diseño de la validación de entrada en MVC1.0 a Validación de modelo. Sus puntos son todos válidos y deben considerarse durante su fase de diseño. Finalmente, las anotaciones de datos no son mágicas, simplemente son atributos de propiedad que usted aplica y que fuerzan la ejecución del código de validación cuando se vincula a su modelo. –

+0

Este enlace explica lo que esperaba hacer ... http://daniel.wertheim.se/2009/11/18/entity-framework-4-part-5-validation-using-dataannotations/ Integre las anotaciones de datos con una capa de servicio. Estaba teniendo problemas porque estoy desarrollando para Azure y el marco 3.5 no es compatible con Validator.TryValidateObject. DOH! Gracias –

Cuestiones relacionadas