2010-05-04 2 views
6

Ich habe mich gefragt, was die allgemeine Empfehlung für Entity Framework in Bezug auf Datenvalidierung ist. Ich bin relativ neu in EF, aber es scheint, dass es zwei Hauptansätze für die Datenvalidierung gibt.Best Practices - Datenanmerkungen vs OnChanging in Entity Framework 4

Die erste besteht darin, eine partielle Klasse für das Modell zu erstellen und dann Datenvalidierungen durchzuführen und eine Sammlung von Regelverletzungen zu aktualisieren. Dies wird umrissen: http://msdn.microsoft.com/en-us/library/cc716747.aspx

Die andere besteht darin, Datenannotationen zu verwenden und dann die Daten durch die Anmerkungen zu validieren. Scott Guthrie erklärt dies in seinem Blog unter http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx.

Ich habe mich gefragt, was die Vorteile von einem über den anderen sind. Es scheint, dass die Datenanmerkungen der bevorzugte Mechanismus wären, besonders wenn Sie zu RIA Services wechseln, aber ich möchte sicherstellen, dass ich nichts verpasse. Natürlich schließt nichts die Verwendung von beiden zusammen aus.

Dank

John

Antwort

1

Ich habe DataAnnotations benutze MVC 2 und es funktioniert super. Ich habe das Partial für ein Entitätsobjekt nicht zur Validierung ausprobiert, aber ich sehe seine Verwendung. Wenn ich eine partielle Klasse für ein Entitätsobjekt erstelle, benutze ich sie, um Daten wie eine GUID-Kennung vorzugeben. oder Erstelldatum oder Änderungsdatum. Ich denke, es wäre nützlich, Validierungen in der partiellen Klasse hinzuzufügen, vielleicht für eine komplexe Validierung, die in der Entitätsschicht stattfinden muss, aber selbst dann könnten diese Validierungen in einem benutzerdefinierten Validator durchgeführt werden. Wenn Sie eine MVC-Website verwenden, würde ich persönlich Datenannotationen verwenden.

+0

Was denken Sie über das Problem von Brad Wilson hier? Ich schätze, ich kämpfe mit den Daten Anmerkungen, da sie wie zu viel Magie scheinen :) http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet- mvc.html –

+0

Zuerst möchte ich Ihnen für den Hinweis auf diesen Artikel danken. Es war ein guter. Dies ist ein informativer Artikel darüber, wie und warum die Designänderung von der Eingabevalidierung eine Änderung in MVC1.0 zur Modellvalidierung darstellt. Seine Punkte sind alle gültig und sollten während Ihrer Entwurfsphase berücksichtigt werden. Schließlich sind Datenanmerkungen keine Zauberei. Sie sind einfach die Eigenschaftsattribute, die Sie anwenden, damit der Validierungscode beim Binden an Ihr Modell ausgeführt wird. –

+0

Dieser Link erklärt, was ich hatte gehofft, zu tun .... http://daniel.wertheim.se/2009/11/18/entity-framework-4-part-5-validation-using-dataannotations/ Integrieren Sie die Datenanmerkungen in eine Serviceebene. Ich hatte einige Probleme, weil ich für Azure entwickle und das 3.5 Framework das Validator.TryValidateObject nicht unterstützt. DOH! Danke –