Пробелы в понимании работы Entity Framework

105
26 июля 2021, 13:30

Доброе время суток! Не так давно начал осваивать Entity Framework, но заметил, что все гайды упускают некоторые вещи, которые мне очень хотелось бы понять.

  1. DbConnection и ConnectionString В статьях указывается, каким образом нужно добавлять эту строку в конфиг, но не дается внятных пояснений. Лично я столкнулся с тем, что два мои разных проекта видят базы друг друга в обозревателе. Когда я попытался изменить пусть ConnectionString, то столкнулся с тем, что база просто не создается. Еще более странно, что вернув строку в исохдное состояние и удалив базу, я не могу создать ее заново (ошибки при SaveChanges, хотя в начале указал CreateIfNotExist).
  2. База вне проекта Хранится ли база отдельно от проекта, в виде файла, и есть ли возможность переносить ее, работать с ней отдельно? Допустим, есть программа А, которая парсит данные и заносит в базу, есть программа Б, работающая с базой напрямую.

P.S. Думаю, что рад таких мелочей нет смысла создавать отдельные вопросы, поэтому все в одном.

Answer 1

Похоже Вам нужно внимательно почитать документацию. docs.microsoft.com

ConnectionString содержит имя и саму строку подключения. Вы можете указать несколько строк под разными именами. (к примеру база с правами на чтения, и на запись).

  1. DBConnection содержит "логику" для работы с указанной ConnectionString. Смотрите класс DbContext. В EF используется несколько подходов для внесения изменений в БД. К примеру CodeFirst - Вы декларируете описание таблиц, их взаимоотношения и т.д. Каждый способ определяет, кто изменяет базу данных. Вы, EF или дизайнер в Visual Studio. Смотрите свой подход и изменяйте/создавайте бд.

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

READ ALSO
Соединить 2 словаря поочередно

Соединить 2 словаря поочередно

Есть 2 словаря типа Dictionary<string, Person>, например:

208
NPOI Excell merged region

NPOI Excell merged region

Есть код для формирования Excell документа

246
Как обработать ошибку в Blazor от Web Api

Как обработать ошибку в Blazor от Web Api

Всем привет! Есть два приложения:

281
Как выделить область в режиме редактирования, на террейне?

Как выделить область в режиме редактирования, на террейне?

Есть террейн, на нём надо выделить область, в которой будут взрывыДопустим у нас область круг, овал, квадрат, прямоугольник или ромб

168