EF6 как поменять схему в беглом API? - PullRequest
0 голосов
/ 09 апреля 2020

Наш проект EF6 использует SQL Сервер и написан для соответствия этой БД. Теперь мы должны внести изменения, чтобы он мог работать с Oracle. Я немного застрял в части со схемой.

Мы определяем схемы с помощью DataAnotations (над именем класса) и используем много схем. Oracle обрабатывает схемы по-разному (пользователь = схема), поэтому я должен изменить схему.

Я попытался установить это в OnModelCreating():

modelBuilder.HasDefaultSchema = "ORACLEDBUSERNAME"

Но, очевидно, специфика, определенная DataAnnotations, не может быть переопределена HasDefaultSchema. Так что я думаю, что мне нужно использовать что-то вроде modelBuilder.Types().Configure(some_code_to_remove_or_override_dataanotations)?

По крайней мере, это мое предположение ... Имейте в виду, что я не могу нацелиться на конкретную c сущность или таблицу, так как я применяю это для каждой сущности / таблицы. Все примеры, которые я нахожу, объясняют, как вносить изменения в определенную сущность, такую ​​как modelBuilder.Entity<Person>().HasTableAnotations(etc...), и это не работает для меня, так как я хочу применить схему к каждой сущности, которая у меня есть.

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