【问题标题】:How to add a linked sql server using LINQ in C#?如何在 C# 中使用 LINQ 添加链接的 sql 服务器?
【发布时间】:2023-03-12 17:37:01
【问题描述】:

我正在尝试用 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 创建链接服务器?

【问题讨论】:

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


    【解决方案1】:
    var connStringBuilder = new SqlConnectionStringBuilder();
    connStringBuilder.DataSource = ".\SQLEXPRESS";
    connStringBuilder.IntegratedSecurity = true;
    connStringBuilder.InitialCatalog = "LocalDB";
    
    SqlConnection conn = new SqlConnection(connStringBuilder)
    

    【讨论】:

    • 这与添加链接的非本地数据库有什么关系?
    【解决方案2】:

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

    数据源而不是服务器

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-09
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 2012-08-30
    • 1970-01-01
    相关资源
    最近更新 更多