EF Code First:Rails风格的创建和修改列

时间:2012-01-07 19:51:50

标签: entity-framework code-first data-annotations

使用Entity Framework CodeFirst,如何创建每次为该表插入记录时使用当前时间戳填充的已创建日期时间列,以及更新后续生成时间戳的已修改日期时间列? Rails默认执行此操作,我希望EF生成的数据库也可以这样做,但事实并非如此。这是可以通过数据注释完成的吗?如果是这样,怎么样?

谢谢!

1 个答案:

答案 0 :(得分:4)

EF不支持。 EF不会自动为您创建这些列。你必须自己做:

  • 在要维护这些值的每个实体中都有CreatedModified个属性。您还必须在应用程序中手动维护这些列(common approach重写SaveChanges并相应地设置值。)
  • 如果您不需要映射这些值(您永远不希望在应用程序中使用它们,并且您对数据库中的逻辑感到满意),则可以创建custom database initializer来执行自定义SQL以更改表并添加这些列,Created列的默认约束以及Modified列的更新触发器。