Entity Framework 4.3, код первый: установить наследуемое свойство во время сохранения - PullRequest
0 голосов
/ 15 марта 2012

Если у меня есть запись DbEntityEntry, я получаю доступ к текущим значениям как:

var currentValues = entry.State != EntityState.Deleted 
    ? entry.CurrentValues 
    : null;

Позже я хочу установить значение свойства:

currentValues["Created"] = DateTime.Now;

Я думаю, вы можете догадаться, для чего это:)

Однако свойство Создано существует в базовом классе сущности, и я получаю сообщение об ошибке при попытке доступа к свойству:

Свойство «Создано» не существует или не сопоставлено для типа 'MyEntity'.

Это потому, что свойство находится в унаследованном базовом классе.

Как установить свойство?

Большое спасибо,

Richard

1 Ответ

0 голосов
/ 15 марта 2012

Не используйте CurrentValues.Используйте сущность напрямую.

if (entry.State != EntityState.Deleted && entry.Entity is YourBaseClass) 
{
    YourBaseClass entity = (YourBaseClass)entry.Entity;
    entity.Created = DateTime.Now;
} 
...