gpt4 book ai didi

c# - 创建 ASP.Net 成员数据库的代码

转载 作者:太空宇宙 更新时间:2023-11-03 19:26:50 25 4
gpt4 key购买 nike

在我自己写这个之前,是否有一个 c# 方法可以创建由 aspnet_regsql 安装的表、pros 和 View ?

最佳答案

据我所知,没有 API 可以直接执行此操作 - aspnet_regsql.exe 工具只是引用磁盘上的脚本文件。

先了解如何自己实现:

您可以通过Process.Start 手动执行aspnet_regsql.exe

或者您可以从命令行运行程序,使用命令行选项转储脚本。然后将这些脚本编辑为与数据库无关(或不由您决定),将这些脚本作为嵌入式资源存储在您的应用程序中,在运行时提取它们,并使用 SqlConnectionExecuteNonQuery 针对数据库运行这些脚本。

以下是 aspnet_regsql.exe 的命令行选项:

http://msdn.microsoft.com/en-us/library/ms229862(v=vs.80).aspx

这是我用来实现第二个选项的一些代码:

ExecuteSqlScriptResource("MyDb", "MyAssemblyName.Scripts.aspnet_regsql_add.sql");

// ...

static void ExecuteSqlScriptResource(string connectionName, string resourcePath)
{
using (Stream scriptStream = Assembly.GetExecutingAssembly()
.GetManifestResourceStream(resourcePath)
)
{
if (scriptStream == null)
{
WriteLine(string.Format("Failed to open resource {0}", resourcePath));
return;
}

using (
var sqlConnection = new SqlConnection(
ConfigurationManager
.ConnectionStrings[connectionName].ConnectionString
)
)
{
using (var streamReader = new StreamReader(scriptStream))
{
var svrConnection = new ServerConnection(sqlConnection);
var server = new Server(svrConnection);
server.ConnectionContext.ExecuteNonQuery(streamReader.ReadToEnd());
}
}
}
}

关于c# - 创建 ASP.Net 成员数据库的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8013159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com