如何在没有初始目录连接字符串的情况下创建 SQL Server 数据库 C# [duplicate]

How to create SQL Server database without initial catalog connection string C# [duplicate]

提问人:حـمـاده ッ 提问时间:10/29/2023 最后编辑:marc_sحـمـاده ッ 更新时间:10/29/2023 访问量:66

问:

如何在不使用初始数据库的情况下从 C# 连接到 SQL Server 以创建尚不存在的数据库?

我可以在用户第一次使用我的应用程序时从我的代码创建数据库。

C# .NET SQL Server 数据库

评论

3赞 Zohar Peled 10/29/2023
可以将它指定为初始目录,它是 SQL Server 用来存储 SQL Server 系统的所有系统级信息的内置数据库。master
0赞 Alexander Petrov 10/29/2023
另请查看由于许多数据库导致的池碎片

答:

-1赞 Qiang Fu 10/29/2023 #1

您可以使用
Reference :https://learn.microsoft.com/en-us/ef/core/managing-schemas/ensure-created#ensurecreated
dbContext.Database.EnsureCreated();

评论

1赞 Zohar Peled 10/29/2023
这是假设 OP 使用的是实体框架。这在问题或其标签的任何地方都没有说明。
-2赞 borealis-c 10/29/2023 #2

只需使用连接字符串而不指定数据库,如 MS SQL Server 的以下示例所示:

var user = "admin"; // from some safe place
var pwd = "1234"; // from some safe place
var connectionString = $"DRIVER={{SQL Server}};SERVER=localhost;UID={user};PWD={pwd};Trusted_Connection=True;";

然后只需使用 SQL CREATE DATABASE ...为了创建数据库(假设用户具有相应的管理权限)。

评论

1赞 Alexander Petrov 10/29/2023
最好使用 SqlConnectionStringBuilder
0赞 borealis-c 10/29/2023
是的,但这不是问题。问题在于不要在连接字符串中包含数据库名称。