1

我正在尝试首先为代码中的计算列问题找到一些不错的解决方法。具体来说,我有许多 CreatedAt 日期时间列需要设置为 getdate()。

我已经看过通过 POCO 构造函数执行此操作,但要做到这一点,我必须删除 Computed 选项(否则它不会保留数据),但是,没有简单的方法可以确保仅在我们设置列时设置插入一条记录。所以这会在我们每次更新时覆盖 CreatedAt。

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

  1. 是否有一个事件可以连接到 OnDropCreateCompleted 之类的东西,然后我可以在其中运行其他 SQL
  2. 处理更改脚本的最佳方法是什么?我想只是将原始 sql 发送到将运行的服务器。
  3. 是否有另一种方法来处理 getdate() 问题,它可能更优雅,更符合我缺少的代码?

谢谢

4

1 回答 1

2

您可以从所需的初始化器派生自定义初始化器并覆盖Seed方法,您可以在其中执行您想要使用的任何 SQL - 这是创建此类初始化器的一些示例

如果您正在使用迁移,您可以只使用自定义 SQLUp方法。

于 2012-05-03T08:14:55.133 回答