Все наши таблицы базы данных имеют UpdateUserID и UpdateTS. Я хотел бы иметь этот набор, если мой объект имеет изменения. Существует ли способ, которым у меня может быть это обновление на месте условно?
Если я вручную установил UpdateTS в коде, то он скажет, что мой объект изменился и будет всегда обновлять объект.
Вы должны иметь возможность обрабатывать событие SevenChanges ( здесь ) и выполнить логику, как описано @SANDER
Я вызываю этот метод расширения перед вызовом context.savechanges ()
:
public static void SetLastModified(this ObjectContext context, DateTime dateTime)
{
DateTime now = DateTime.UtcNow;
foreach (ObjectStateEntry entry in context.ObjectStateManager.GetObjectStateEntries(EntityState.Modified))
{
if (!entry.IsRelationship)
{
IHasLastModified lastModified = entry.Entity as IHasLastModified;
if (lastModified != null)
lastModified.LastModified = now;
}
}
}
Я могу легко вызвать этот код, потому что я оборудовал объектContext в классе репозитория Отказ Если вы используете его голым, вы можете подключить событие objectContext.savingchanges
, чтобы сделать что-то подобное.