выполнение вставки \ обновления \ удаления - Использовать Linq? - PullRequest
0 голосов
/ 04 января 2011

Я смотрел на использование linq to sql (или EF), а не на line \ dynamic sql в моем приложении, но столкнулся с возможной проблемой.Мое приложение модифицирует данные по любому количеству случайных баз данных в нескольких экземплярах sql. Похоже, что linq структурирован по сценарию с одной базой данных.Было бы лучше просто продолжать использовать в строке sql или есть способ использования linq без привязки его к одной базе данных?

Пример того, что я делаю в данный момент:

Using cn As SqlConnection = (ConnectionString)
        Using cm As SqlCommand = New SqlCommand("< Dynamic sql>;", cn)
            cn.Open()
            cn.ChangeDatabase(Database)
            cm.ExecuteNonQuery()
        End Using
 End Using

И пример запроса:

DELETE FROM settings WHERE [Sec] = 'ON' AND [Key] = 'last'; INSERT Settings([Sec], [Key], [Val]) values('ON', 'last', GETDATE());

Хотя я выполняю хранимые процедуры в этих базах данных, некоторые пользовательские, другие для добавления пользователей (sp_adduser)

Все целибазы данных имеют одинаковую структуру, поэтому любой запрос \ linq будет работать против него.

1 Ответ

1 голос
/ 04 января 2011

С LINQ вы правы в том, что DataContext отправляется в одну базу данных, но вы можете иметь много DataContexts, каждый из которых направляется в другую базу данных.Например, у вас может быть файл SettingsDataContext, идущий в базу данных с вашими настройками, и файл UsersDataContext, который отправляется в базу данных вместе с вашими пользователями, или как бы то ни было, вы его настроили.

Существует синтаксис всего этого.Вот ссылка на некоторые примеры выполнения вставок и выбора с помощью ADO.NET и Linq to SQL.

http://blogs.msdn.com/b/wriju/archive/2008/07/14/linq-to-sql-vs-ado-net-a-comparison.aspx

Одна вещь, которую я часто слышал, - это то, что Linq to SQL предназначен для тех, кто не очень знаком с SQL или просто любит работать в сферах C # или VB..NET код больше, чем необходимость переключения шаблонов мышления и мышления в области ADO.NET/inline SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...