Аннотации данных по объектной модели, совместно используемые двумя приложениями - PullRequest
2 голосов
/ 12 октября 2010

У меня есть библиотека классов, которая содержит мою объектную модель.Мне бы хотелось, чтобы каждый объект имел аннотации данных для размещения правил проверки в моей модели, чтобы проверка могла быть разделена между двумя приложениями.Одно из них - приложение MVC 2, а другое - приложение Windows Forms.

Мне нужно иметь возможность проверять объектную модель вручную из кода с использованием аннотаций данных, но без использования xVal.Когда я переключаю библиотеку объектной модели на профиль клиента 4.0, она больше не может собираться с компонентами xVal.Библиотека классов объектов домена будет распространяться вместе с приложением Windows, поэтому я хотел использовать профиль клиента 4.0.

Есть идеи?

1 Ответ

1 голос
/ 14 октября 2010

Хорошо, я предоставлю ответ с более существенным содержанием, на случай, если он может быть полезен кому-то еще.

Для нашей проверки мы используем простой метод Validate, подобный этому:

public void Validate(T entity)
{
    var context = new ValidationContext(entity, null, null);
    var results = new List<ValidationResult>();

    bool valid = Validator.TryValidateObject(entity, context, results, true);

    if (!valid)
        ; // do something fancy with the results here, perhaps
}

Вы также можете пропустить TryValidateObject и перейти прямо к ValidateObject, если вы не хотите делать что-либо необычное с результатами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...