Как я могу запретить "объектам, которые вы добавляете в конструктор, использовать другое подключение к данным ..."? - PullRequest
6 голосов
/ 24 мая 2010

Я использую Visual Studio 2010 и у меня есть файл LINQ-to-SQL DBML, который мы с коллегами используем для этого проекта.

У нас есть строка подключения в файле web.config, который использует DBML. Однако, когда я перетаскиваю новую таблицу из «Обозревателя серверов» в файл DBML ... я получаю диалоговое окно, в котором требуется выполнить один из следующих двух вариантов:

  1. Разрешить Visual Studio изменять строку подключения, чтобы она соответствовала строке в моем обозревателе решений.
  2. Отмените операцию (т.е. я не получаю свой стол).

Меня не особо волнуют дебаты, потому что разработчики ПО / разработчики, которые создали этот инструмент, не разрешили третий вариант - «В любом случае создайте объект - не волнуйтесь, я разработчик!»

Я думаю, что было бы хорошим решением, если бы я мог создать соединение в обозревателе серверов - БЕЗ МАСТЕРА. Если бы я мог просто вставить строку подключения, это было бы здорово! Потому что тогда меня не пугает дизайнер DBML: O)

Если кто-нибудь знает ответ на этот вопрос или как это сделать, пожалуйста, дайте мне знать!

Ответы [ 2 ]

1 голос
/ 29 апреля 2011

Вот похожая тема, которая имеет несколько вариантов. К сожалению, все они немного обходятся, но кажется, что это лучшее решение проблемы. Управление различными строками подключения разработчика в LINQ to SQL

0 голосов
/ 29 апреля 2011

Предположим, вы родились в классе SampleDataContext. Создайте другой файл, скажем, с именем SampleDataContext.cs и добавьте следующий

public partial class SampleDataContext
{       
    partial void OnCreated()
    {
        Connection.ConnectionString = System.Configuration.ConfigurationManager.AppSettings["SQL"];
    }
}

Так что теперь не имеет значения, какое соединение с базой данных вы используете в конструкторе; Используемая строка подключения будет извлечена из настроек вашего приложения.

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