Подтвердить что ты не робот

С#, откуда берется файл dbml?

В настоящее время я изучаю С# и LINQ. У меня много вопросов о них. В принципе, мне нужно пошаговое руководство.

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

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

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

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