我想我现在有几个类似的问题,但我现在对谷歌搜索和阅读它们感到非常困惑。由于我有 Code First 方法,并且我添加了迁移支持,更新到数据库,现在我需要一些讨厌的东西,比如触发器、存储过程和视图。据我了解,我需要编写 SQL 创建触发器并将存储过程作为字符串创建到我的 C# Code First 代码中。但是哪里?我需要在哪里添加它们(作为静态或常量字符串)?我还需要编写删除触发器/存储的 procs 字符串吗?以及如何将它们集成到下一个迁移步骤中?有人知道关于这个主题的真正有用的分步博客吗?
我得到了一个建议,即使用“add-migration”命令生成下一个迁移步骤,然后使用触发器定义更新 Up() 和 Down() 方法。这很清楚,但有点偏离代码优先的观点,我担心表定义和表触发器(和存储过程)会分开。另一个建议说要覆盖上下文 OnModelCreating()... 但我看不到它何时执行,如何链接到特定的迁移步骤...
并且请不要争论“使用触发器是一件愚蠢的事情”,因为我的问题比这更广泛......如何首先将任何高级 sql 服务器“对象”添加到代码中,这在 C# 中不容易定义为先码?