Как создать классы Linq To SQL с помощью конструктора VS при использовании строки подключения - PullRequest
1 голос
/ 13 февраля 2011

Как вы, наверное, видели из моих предыдущих постов, я начинаю учить себя MVC и C #, так как пришло время перейти от работы дизайнера к разработчику. Мне сказали не использовать обозреватель серверов в Visual Studio, а просто подключиться к моей базе данных с помощью строки подключения в файле web.config. Я сделал это, но очевидно, что LINQ to SQL Designer в Visual Studio, похоже, не знает и не распознает соединение с моей базой данных, и я не могу просто перетащить конструктор для создания классов. Нужно ли создавать их вручную или я что-то упустил?

Любые идеи оценены.

Приветствия

Mark

Ответы [ 4 ]

1 голос
/ 13 февраля 2011

Класс DataContext имеет конструктор , который принимает параметр строки подключения.

0 голосов
/ 13 февраля 2011

Я всегда создаю оболочку, которая делает что-то вроде:

public static class DBCreator
{
   public static MyDataContext Create()
   {
       return new MyDataContext(ConfigurationManager.ConnectionStrings["ConnName"].ConnectionString);
    }
}

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

HTH.

0 голосов
/ 13 февраля 2011

Вы можете сгенерировать свои классы с помощью обозревателя сервера и просто заполнить там поля сервера, базы данных и аутентификации сведениями из строки подключения.

Затем, как заявляет shadowfoxmi, когда вы создаете экземпляр класса DataContext,используйте конструктор, который принимает строку подключения или предварительно настроенный экземпляр SqlConnection.

Лично я предпочитаю иметь статический класс, содержащий единственный статический метод GetDataContext (), который возвращает экземпляр DataContext, уже настроенный с правильной строкой соединения, тайм-аутами и т. Д. Затем я гарантирую, что ни один код не создает экземпляр DataContext вручную,скорее все случаи происходят из этого статического метода.Вы можете сделать этот метод настолько сложным, насколько вам нужно, например, у вас может быть код, создающий экземпляр DataContexts с разными строками соединения, в зависимости от среды развертывания (например, подготовка, производство, локальная разработка) и т. Д.

В развертывании, в зависимости отв соответствии с вашими потребностями, рекомендуется убедиться, что сведения, которые обозреватель сервера поместит в ваш файл app.config / web.config, будут удалены.

0 голосов
/ 13 февраля 2011

Я думаю, что я разобрал это, изменив настройки соединения в свойствах дизайнера

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