Ich habe das Entity Framework mit VS2010 verwendet, um eine einfache Personenklasse mit den Eigenschaften firstName, lastName und email zu erstellen. Wenn ich DataAnnotations wie in diesem blog post anhängen möchte, habe ich ein kleines Problem, weil meine Personenklasse dynamisch generiert wird. Ich könnte den dynamisch generierten Code direkt bearbeiten, aber jedes Mal, wenn ich mein Modell aktualisieren muss, wird der gesamte Validierungscode gelöscht.Verwenden von DataAnnotations mit Entity Framework
Der erste Instinkt war, eine partielle Klasse zu erstellen und Annotationen anzuhängen, aber es beschwert sich, dass ich versuche, die Eigenschaft neu zu definieren. Ich bin mir nicht sicher, ob Sie in C# ähnliche Funktionsdeklarationen in C++ machen können. Wenn du könntest, könnte das die Antwort sein. Hier ist ein Ausschnitt von dem, was ich versuchte:
namespace PersonWeb.Models
{
public partial class Person
{
[RegularExpression(@"(\w|\.)[email protected](\w|\.)+", ErrorMessage = "Email is invalid")]
public string Email { get; set; }
/* ERROR: The type 'Person' already contains a definition for 'Email' */
}
}
Ich bin wirklich enttäuscht, dass Sie eine Teilklasse nicht definieren und mit Datenanmerkungen dekorieren können, wie Sie in Ihrem Codebeispiel zeigen. Das war mein erster Instinkt; dann bin ich auf diesen Beitrag gestoßen und sehe keine Lösungen, die mir sympathisch erscheinen. Das ef-Team sollte einen Mapping-Mechanismus bereitstellen, um diese eher lästige Idiosynkrasie zu umgehen. – nocarrier