在C#中创建Sql DB,而不在SqlServer中注册
我目前正在研究使用以下代码生成本地SQL DB:在C#中创建Sql DB,而不在SqlServer中注册,c#,sql,sql-server,C#,Sql,Sql Server,我目前正在研究使用以下代码生成本地SQL DB: using (var sqlConn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;Integrated Security=True;Connect Timeout=30")) { using (var createCommand = new SqlCommand("CREATE DATABASE DBTitle ON PRIMARY " + "(NAME
using (var sqlConn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;Integrated Security=True;Connect Timeout=30"))
{
using (var createCommand = new SqlCommand("CREATE DATABASE DBTitle ON PRIMARY "
+ "(NAME = DBName, "
+ "FILENAME = '" + fileLocation + "')"))
{
sqlConn.Open();
createCommand.Connection = sqlConn;
createCommand.ExecuteNonQuery();
sqlConn.Close();
}
}
出于几个原因,我不希望生成的数据库与我在SQLServerManager中看到的其他数据库一起注册。如果在何时/何处放置另一个约束系统,则会增加额外的麻烦。有没有一种方法可以生成我所关心的.mdf,而不必在本地数据源中注册它?你说的“不必在本地数据源中注册它”是什么意思?创建MDB文件的唯一方法是使用create DATABASE。你可以随后拆下它。什么?我想你是在问你是否可以在你的服务器上有一个数据库,你在数据库列表中看不到,或者类似的东西。答案是不,当然不是。我想你可以创建数据库,然后分离它。但这有什么意义呢?@DavidBrowne-Microsoft听起来很完美。@SeanLange原因是这个缓存可能会在人与人之间传递。必须注册才能使用它,或者在选择其他人的时遇到命名冲突,这是一个我不想遇到的麻烦。我不确定你所说的缓存是什么意思。这是一个数据库。传递数据库文件是一个非常糟糕的主意。这是一个迹象,表明有些事情很不对劲。