如何在C#中使用LINQ添加链接的SQL Server?

时间:2015-07-22 17:59:49

标签: c# sql-server linq linq-to-sql

我正在尝试用LINQ表达式替换我的硬编码SQL查询。

这是我要替换的(简化)代码:

List<string> sqlCommands = new List<string>
{
     @"EXEC sp_attach_single_file_db @dbname='LocalDB', @physname=N'C:\dbfile.mdf'",
     @"EXEC sp_addlinkedserver @server='NotLocalDB'"
};

SqlConnection conn = new SqlConnection(@"Server=.\SQLEXPRESS; Integrated Security=True");
conn.Open();

foreach (string commandString in sqlCommands)
{
     var command = new SqlCommand(commandString, conn);
     command.ExecuteNonQuery();
}

conn.Close();

我用这个LINQ语句替换了sp_attach_single_file_db命令:

DBDataContext localDB = new
       DBDataContext(@"Server=.\SQLEXPRESS; Database=LocalDB; Integrated Security=True");

localDB.CreateDatabase();

但是我找不到sp_addlinkedserver的等效命令。

有没有办法可以使用LINQ为localDB创建链接服务器?

2 个答案:

答案 0 :(得分:0)

var connStringBuilder = new SqlConnectionStringBuilder();
connStringBuilder.DataSource = ".\SQLEXPRESS";
connStringBuilder.IntegratedSecurity = true;
connStringBuilder.InitialCatalog = "LocalDB";

SqlConnection conn = new SqlConnection(connStringBuilder)

答案 1 :(得分:-2)

尝试初始目录,而不是数据库

数据来源而不是服务器