Проверка свойств NotMapped в EF Code First + Ria Services - PullRequest
1 голос
/ 26 января 2012

Я использую службы RIA и EF Code First, чтобы создать приложение, в котором сущности расширяются с помощью пользовательских свойств (каждая расширяемая сущность имеет набор свойств, который в основном представляет собой отношение один ко многим с сущностью свойства).

* 1002Более того, был написан механизм генерации кода, который генерирует «обычные» оболочки свойств c # для каждого такого «расширенного» свойства.Благодаря этому весь механизм гораздо более прозрачен для разработчиков
    [NotMapped]
    public string Version
    {
        get
        {
            return this.GetProperty(PropertyNameVersionConst) == null
                        ? null
                        : this.GetProperty(PropertyNameVersionConst).StringValue;
        }
        set
        {
            this.SetProperty(PropertyNameVersionConst, value);          
        }
    }

Вопрос в том, могу ли я использовать атрибуты проверки для таких ([NotMapped]) свойств?На первый взгляд, я не вижу причин, по которым это невозможно.

[NotMapped]
[Required]
public string Version{...}

Я столкнулся с проблемой, из-за которой возникает исключение проверки (для SaveChanges ()) для такогосвойство с атрибутом Required, даже если для свойства задано ненулевое значение.

1 Ответ

1 голос
/ 27 января 2012

Ну, после добавления виртуального модификатора к свойствам он начал работать правильно

[NotMapped]
public virtual string Version
{
    get
    {
        return this.GetProperty(PropertyNameVersionConst) == null
                    ? null
                    : this.GetProperty(PropertyNameVersionConst).StringValue;
    }
    set
    {
        this.SetProperty(PropertyNameVersionConst, value);          
    }
}

Кто-нибудь может уточнить это:)?

...