EntityFramework代码优先,在DropCreate之后运行数据库更新脚本

时间:2012-05-02 19:46:53

标签: entity-framework-4.3

我试图在代码中首先找到一些关于计算列问题的好工作。具体来说,我有一些需要设置为getdate()的CreatedAt datetime列。

我已经看过通过POCO构造函数执行此操作,但为此,我必须删除Computed选项(或者它不会保留数据),但是,没有简单的方法可以确保只有在我们插入记录时才设置列。因此,每次更新时都会覆盖CreatedAt。

我希望创建一个可以在DropCreate之后调用的alter脚本,该脚本将通过并更改各个列以包含默认值getdate()。

  1. 是否有一个事件可以挂钩到像OnDropCreateCompleted那样我可以运行其他SQL
  2. 处理alter脚本的最佳方法是什么?我正在考虑将原始sql发送到将运行的服务器。
  3. 是否有其他方法可以处理getdate()问题,该问题可能更优雅,并且更多内联代码首先是我错过了?
  4. 由于

1 个答案:

答案 0 :(得分:2)

您可以只使用您想要的自定义初始化程序,并覆盖Seed方法,您可以在其中执行您想要使用的任何SQL - 此处some example用于创建此类初始化程序。

如果您正在使用迁移,则可以使用自定义SQL到Up方法。