C # откуда берется файл dbml? - PullRequest
28 голосов
/ 23 марта 2010

Я сейчас изучаю C # и LINQ.У меня много вопросов о них.По сути, мне нужно пошаговое руководство.

  1. Я предполагаю, что файл dbml является файлом конфигурации базы данных.Если дважды щелкнуть файл dbml, VS откроет его на схеме проекта.Могу ли я создать / удалить / изменить таблицы здесь?Я могу использовать add new item, чтобы добавить LINQ to SQL Classes, чтобы получить dbml файл?

  2. Что дальше?Создать таблицы в базе данных?Создать сценарий SQL?Генерировать cs файлы?Когда?Как?

Ответы [ 4 ]

28 голосов
/ 23 марта 2010

Файл DBML вообще не связан с сервером базы данных.Это полностью клиентская вещь.По сути, это набор информации о ваших таблицах в базе данных и о том, как вы собираетесь сопоставить их с объектами .NET.

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

Внутренне файл DBML представляет собой просто файл XML, который подается Visual Studio в пользовательский инструмент и генерирует файлы .cs, представляющие объектную модель LINQ дляВаша база данных из него.

4 голосов
/ 23 марта 2010

Файл DBML - это отображение, которое определяет ваши классы на основе схемы базы данных. Да, он определяет вашу (по умолчанию) строку подключения, но он не «настраивает» вашу базу данных вообще.

В Linq to Sql используется подход, основанный на базе данных, когда у вас есть база данных и моделируются ваши классы по схеме БД. Перетаскивая таблицу туда, вы будете автоматизировать создание классов, поэтому вам не придется их печатать. Оттуда вы можете изменить имена свойств и т. Д., И соответствие между свойством и его правильным именем столбца базы данных останется без изменений.

2 голосов
/ 23 марта 2010
2 голосов
/ 23 марта 2010

Да, файл DBML создается при добавлении класса Linq to SQL. В конструкторе (что вы видите, когда дважды щелкаете файл DBML) вы можете перетаскивать в него таблицы (из проводника сервера). Затем вы можете ссылаться на эти таблицы в своем коде. Есть более чем несколько учебников по началу работы:

Проверьте этот ТАК вопрос для деталей:

https://stackoverflow.com/questions/481244/can-anyone-recommend-a-good-tutorial-for-learning-linq2sql

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