7

Mam Subsonic3 Active Record generowane częściowej klasy użytkownika, które zostały rozszerzone na niektóre metody w oddzielnej klasy częściowej.Dodawanie DataAnnontations do generowanych klas częściowych

Chciałbym wiedzieć, czy istnieje możliwość dodania adnotacji danych do właściwości pręta w jednej klasie cząstkowej, gdzie jest ona zadeklarowana w drugiej wersji Subsonic Generated Próbowałem tego.

public partial class User 
{ 
    [DataType(DataType.EmailAddress, ErrorMessage = "Please enter an email address")] 
    public string Email { get; set; } 

    ... 
} 

W tych przykładach występuje błąd "Członek już jest zdefiniowany".

Myślę, że już dawno mogłem zobaczyć przykład tego, co próbuję zrobić z Dynamic Data i Linq2Sql.

Odpowiedz

10

Co trzeba zrobić, to stworzyć „buddy class” i zastosować adnotacje danych do tej klasy:

[MetadataType(typeof(UserValidation))] 
public partial class User 
{ 
    ... 
} 

public class UserValidation 
{ 
    [DataType(DataType.EmailAddress, ErrorMessage = "Please enter an email address")] 
    public string Email { get; set; } 
} 
0

To nie bezpośrednio odpowiedzieć na to pytanie, ale miałem ten sam problem, a raczej niż przy użyciu DataAnnotations, do tej pory korzystałem z platformy FluentValidation {0}. Działa dobrze, ponieważ zapewnia wiele takich samych funkcji, ale nie stosuje sprawdzania poprawności, używając atrybutów dla członków klasy. Sprawdzanie poprawności odbywa się w całkowicie oddzielnej klasie, która działa na sprawdzanej klasie (tj. UserValidator).

{0}: http://fluentvalidation.codeplex.com/