EF сохраняет столбцы Я не хочу этого, как избежать этого поведения? - PullRequest
0 голосов
/ 11 ноября 2011

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

public string StringValue {
    get {
        return stringValues[Value];
    }
    set {
        if (stringValues.Contains(value))
            t = (StreetType)stringValues.Single(s => s == value).IndexOf(value);
    }
}

public static implicit operator string(StreetTypeWrapper w) {
    return w == null ? stringValues[0] : w.StringValue;
}

public static implicit operator StreetTypeWrapper(string s) {
    return new StreetTypeWrapper() { StringValue = s };
}

Не говоря уже о том, что я никогда не менял класс отображения сложного типа StreetTypeMapping, чтобы включить это новое свойство, я неЯ не хочу, чтобы это было в базе данных, но EF все равно продолжает сохранять его, хотя я только сопоставил свойство Value этого сложного типа.

Есть ли что-то, что я делаю неправильно, чтобы это произошло?

Как мне избежать этого раздражающего поведения? (EF решает для меня, что отображать, хотя я указал, что отображать)

1 Ответ

1 голос
/ 11 ноября 2011

вы можете добавить атрибут [NotMapped] к свойству

[NotMapped]
public string StringValue { .... }

если есть какой-то способ сделать свойство доступным только для чтения, то EF также проигнорирует его.

...