Класс Wrapper не сохраняет в базу данных при установке - PullRequest
0 голосов
/ 04 августа 2011

У меня есть класс-оболочка, предназначенный для получения и установки кода из свойства одного из частичных классов моего dbml. Причиной для обертки является специальное получение, которое предварительно форматирует значение. Вот как выглядит оболочка (ПРИМЕЧАНИЕ: это не фактический код, а представляет все, кроме точного форматирования):

partial class Class1
{
    public string PropertyFormatted
    {
        get
        {
            var ret = Property.Substring(1);
            return ret;
        }
        set { Property = value; }
    }
}

Эта оболочка связывается с помощью Bind () в форме просмотра для страницы редактирования. По какой-то причине значение обертки устанавливается дважды при обновлении, и во второй раз через значение присваивается его первоначальное значение (в результате чего свойство остается, в конечном счете, неизменным). Однако когда оболочка заменяется самим свойством, проблем с сохранением в базе данных не возникает.

Есть идеи, что может быть причиной этого?

1 Ответ

0 голосов
/ 04 августа 2011

dbContext должен автоматически обнаруживать изменения с помощью этого метода:

http://msdn.microsoft.com/en-us/library/system.data.entity.infrastructure.dbchangetracker.detectchanges(v=vs.103).aspx

Возможно, вы случайно отключили автоматическое обнаружение изменений или что-то в этом роде. Попробуйте вручную вызвать метод и посмотрите, имеет ли это значение.

Удачи!

...