2015-07-22 1 views
1

Я пытаюсь заменить свои жестко запрограммированные SQL-запросы выражениями LINQ.Как добавить связанный сервер sql используя LINQ в C#?

Вот (упрощенный) код, который я хочу заменить:

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(); 

Я заменил команду sp_attach_single_file_db с этим утверждением LINQ:

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

localDB.CreateDatabase(); 

Но я не могу найти эквивалентную команду для sp_addlinkedserver.

Есть ли способ создать связанный сервер для localDB с помощью LINQ?

ответ

-2

Попробуйте Initial Catalog вместо Database

и

Источник данных вместо сервера

+1

Я чувствую, что на самом деле не ответил на мой вопрос, и это не полезно, потому что они синонимы. См. А) http://stackoverflow.com/a/12238552/2374028 и b) http://stackoverflow.com/a/15025693/2374028 –

+0

................ ............. – Kiryl

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

SqlConnection conn = new SqlConnection(connStringBuilder) 
+1

Что это связано с добавлением связанной, не локальной базы данных? –

Смежные вопросы