EF CodeFirst: созданные и измененные столбцы в стиле Rails - PullRequest
3 голосов
/ 07 января 2012

Используя Entity Framework CodeFirst, как мне создать созданный столбец даты и времени, который заполняется текущей меткой времени каждый раз, когда вставляется запись для этой таблицы, и измененный столбец даты и времени, который имеет метку времени, генерируемую при каждом обновлении строки? Rails делает это по умолчанию, и я надеялся, что в сгенерированной EF базе данных это тоже будет, но это не так. Это можно сделать с помощью аннотаций данных? Если да, то как?

Спасибо!

1 Ответ

4 голосов
/ 08 января 2012

Не поддерживается в EF. EF не будет создавать эти столбцы для вас автоматически. Вы должны сделать это самостоятельно либо:

  • Имейте свойства Created и Modified в каждой сущности, где вы хотите сохранить эти значения. Вы также должны вручную поддерживать эти столбцы в своем приложении ( общий подход переопределяет SaveChanges и соответственно устанавливает значения).
  • Если вам не нужно отображать эти значения (вы никогда не предполагаете использовать их в своем приложении и довольны логикой в ​​базе данных), вы можете создать пользовательский инициализатор базы данных , который будет выполнять ваши пользовательские SQL для изменения таблиц и добавления этих столбцов, ограничения по умолчанию для столбцов Created и триггеры обновления для столбцов Modified.
...