我首先使用Entity Framework Migrations代码来控制我的数据库模型.它很迷人,我现在可以处理所有事情.但是现在我需要添加一个数据库触发器,我想用EF迁移来做这个,而不是只为这种情况使用单独的sql脚本(这会让客户感到困惑,特别是在我们说服他们我们可以处理所有事情之后EF迁移).我的触发器是直接的,看起来像是:
CREATE OR REPLACE TRIGGER [name] BEFORE UPDATE ON myTable ...
Run Code Online (Sandbox Code Playgroud)
是否有命令为EF迁移添加触发器?
就像我喜欢MVC一样,我不懂捆绑.我阅读了几个关于捆绑的文档,但直到现在我才发现如何将它用于我的脚本和样式.
经过数小时的反复试验后,唯一能够始终如一的解决方案是:
使用相对路径a/b/c为脚本x.js创建包,如下所示:
var bundle = new ScriptBundle("~/a/b/c/bundle").Include("~/a/b/c/x.js");
bundles.Add(bundle);
Run Code Online (Sandbox Code Playgroud)使用相对路径a/b/c创建样式x.css的包,如下所示:
var bundle = new StyleBundle("~/a/b/c/bundle").Include("~/a/b/c/x.css");
bundles.Add(bundle);
Run Code Online (Sandbox Code Playgroud)并在Views中引用它
@Scripts.Render("~/a/b/c/bundle");
@Styles.Render(("~/a/b/c/bundle");
Run Code Online (Sandbox Code Playgroud)
显然缺点是,对于每个路径,我需要一个带有一个密钥的捆绑,构造为"路径"+后缀(我使用"捆绑",但其他一切也会这样做).
我的路径看起来像:
内容\
脚本
有没有聪明的方法/最佳实践如何创建和使用bundle或组织脚本和样式的路径?
评论:我没有看到这个问题是如何在mvc 4 - asp.net中捆绑和渲染脚本的重复?当标题也很相似时.
我正在为我的项目实现实体框架(v5)基于代码的迁移.
来自我们客户的数据库管理员有时会有点偏执,并希望手动执行sql脚本.
由于我们已经有很多版本并且我们支持SqlServer和Oracle并行,我们不希望从所有可能的版本管理多个更新脚本xxxx到yyyy是否有可能以与我调用它相同的方式以编程方式获取sql脚本在程序包管理器控制台中
Update-Database -Script
Run Code Online (Sandbox Code Playgroud)
因此,客户端将通过一个简单的控制台应用程序,取决于他的数据库系统和当前版本正确的sql脚本作为输出.