【发布时间】:2012-02-21 17:43:48
【问题描述】:
我正在使用 SQL Server 2012 RC0 + EF 4 + MVC 4。我 90% 的数据库是使用 EF 的 Code First 功能制作的。
我打算将一些 CLR 函数用于正则表达式,如 here 和其他文章所述。
正如我所说,我使用的是 EF Code First,所以我利用了这个功能,在首次使用时创建 db 并执行一些额外的 SQL 命令来创建索引、约束、SQL 计算字段和 SQL 函数。
这是我第一次使用种子功能的一个例子:
public class mydbInitializer : DropCreateDatabaseIfModelChanges<TManagerContext>
{
protected override void Seed(mydbContext context)
{
try
{
context.Database.ExecuteSqlCommand("CREATE NONCLUSTERED INDEX IX_index1 ON table1 (field1)");
context.Database.ExecuteSqlCommand("CREATE NONCLUSTERED INDEX IX_index2 ON table1 (field2)");
...
// 这里我会放一些代码在 SQL Server 上启用 CLR 并将我的 CLR 函数部署到其中......
我会将我的应用程序部署到不同的服务器,所以我想知道是否可以在第一次使用应用程序时启用 CLR 并部署 CLR 功能?出于安全原因,我会去用不涉及创建或删除 db 的版本替换 bin。
您认为这是一种错误的方法吗?我是否需要使用 SQL Management Studio?或者,您可以创建批处理以促进 CLR 及其 bin 的集成?
非常感谢您的帮助,并为我的英语不好感到抱歉。 最好的问候
【问题讨论】:
标签: sql-server entity-framework deployment ef-code-first clr