【发布时间】:2013-03-20 10:25:36
【问题描述】:
我正在考虑在实体框架中使用 Code First 方法。
我喜欢在 DateAdded 和 DateModified 等字段上向我的 SQL 数据库添加触发器,以便它们根据需要自动更新为 getdate()。
据我所知,EF 很难做到这一点:Code First,那么是否有替代方案?
【问题讨论】:
-
这不好玩。您需要覆盖 POCO 的 OnModelCreating 并将属性设置为 getdate
-
@DaveA 不,你可以设置
DatabaseGenerated.Computed,但我认为OP指的是通过迁移创建触发器,你罗文吗? -
@GertArnold,我想在
OnModelCreating方法中使用DatabaseGenerated.Computed。我认为这是触发器的替代品。了解触发器在代码优先中存在问题 -
嗯,我的问题是,我不知道应该怎么做或者应该怎么做最好。所以我愿意接受任何建议。做到这一点的一种方法是使用代码优先迁移并在我去的时候简单地将触发器添加到 SQL 服务器?这意味着如果我将项目移动到另一台服务器并且代码首先生成数据库,那么我将不得不重新添加触发器。如果不使用触发器,我只是更改我的代码,以便在编辑该表时将
DateUpdated更新为当前的GETDATE()怎么样?这会是最佳做法吗?
标签: entity-framework asp.net-mvc-4 code-first triggers