Аннотации данных в MC2 - проблема с проверкой базового класса - PullRequest
2 голосов
/ 30 июня 2010

У меня есть первый уровень модели Entity Framework 4, где у меня есть базовый класс Product, а затем другие классы, производные от класса. Для каждого типа Продукта существует Частичный класс, а затем каждый из частичных классов использует класс партнера для Аннотаций данных.

[MetadataType(typeof(Product_Validation))]
public partial class Product : EntityObject
{
    private List<RuleViolation> ruleViolations = new List<RuleViolation>();
}

, а затем

public  class Product_Validation
{


    [DisplayName("Model Name")]
    public string ModelName { get; set; }

    [Required(ErrorMessage = "A description is required")]
    [StringLength(2, ErrorMessage = "must be 2 or more")]
    public string Description { get; set; }
}

Проблема, с которой я столкнулся, заключается в том, что проверка базового класса (для продукта) не происходит на стороне сервера в моем приложении ASP.NET MVC2. Я еще не пробовал на стороне клиента.

Классы, производные от Product, такие как CD, действительно работают. Я знаю, что проводка класса приятеля работает для базового класса продукта, потому что используются отображаемые имена, которые я использую. Когда я делаю привязку к модели, я использую производный класс (CD).

Есть идеи?

Я посмотрел на это ТАК сообщение , но, похоже, это не помогло мне.

Спасибо!

1 Ответ

1 голос
/ 30 июня 2010

Являетесь ли вы моделью привязки базового или производного класса?

Если я правильно помню из нескольких экспериментов несколько месяцев назад, вам нужно связать как продукт. Вы не можете использовать компакт-диски в своих методах действий или вызовах UpdateModel.

Возможно, вам придется выполнить два набора привязки модели, чтобы сделать эту работу правильной. Один раз для проверки продукта, а другой для CD.

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