C# Entity Framework Model First. Как правильно формировать БД с нужными мне названиями таблиц и колонок

72
12 февраля 2018, 01:28

Здравствуйте. Есть такая картинка

Суть проблемы в следующем: мне нужно из данной модели сформировать БД с нужными мне названиями таблиц и колонок, то есть, когда у меня формируется sql-скрипт, я его могу редактировать под себя. Так вот, возьмём пример двух сущностей: Reader и Order. С самого начала в таблице Order у меня не было колонки ReaderId, я сделал ассоциацию в модели один-ко-многим без создания дополнительной колонки ReaderId. Ну и так далее. Далее формирую sql-скрипт для создания таблиц. Но в этом скрипте мне некоторые названия не нравились, и я решил их изменить. Например, были такие колонки в БД: Reader_Id (заменил на ReaderId), была таблица BookOrder с колонками Books_Id и Orders_Id, изменил название таблицы и колонок (BooksOrders таблица и колонки BookId, OrderId). Ну и так далее.

Скрипт изменил, запустил, всё хорошо, но моё приложение не запускалось, поскольку приложение пыталось найти те колонки в БД, которые я изменил (например, не находило колонку Reader_Id). Через какое-то время я выяснил, что в браузере моделей у меня почему-то остались старые названия колонок и почему-то они не изменились на те названия, которые я задал в sql-скрипте. Решил обновить модель из БД, в итоге получилось так, как на картинке выше, а именно: например, зачем-то создалась колонка ReaderId в таблице Order, хотя я этого не хочу + ещё лишние навигационные свойства появились из-за появления новых ассоциаций, которые я тоже не хочу их видеть вообще. Ну и так далее.

Можно ли как-то названия по умолчанию колонок и таблиц изменять так, чтобы не создавались дополнительные поля и ассоциации? Потому что я пытаюсь реализовать отношение один-ко-многим на стороне классов без дополнительного поля с использованием свойств навигации (свойства для классов), я честно не знаю, правильно ли так делать на стороне класса или нет, поскольку я видел несколько вариантов.

READ ALSO
UWP уведомление из фонового потока

UWP уведомление из фонового потока

Пишу приложение UWP и столкнулся с проблемойМне требуется периодически показывать пользователю уведомления, те что отображаются в шторке...

65
Проверка бд на контакт в C#

Проверка бд на контакт в C#

Как проверить в catch контакт на наличие одного и того же телефона: Если добавляемый номер телефона существует, то выдать ошибку

61
Общение клиента и сервера по Tcp

Общение клиента и сервера по Tcp

Необходимо реализовать общение между клиентом и сервером, с помощью TcpClientКлиент отправляет на сервер запрос типа "дай мне такую то информацию",...

62
ASP.NET(MVC) бесплатный?

ASP.NET(MVC) бесплатный?

ЗдравствуйтеВозникла необходимость создать сайт и больше всего мне подходит ASP

36