Мне нужно создать несколько новых объектов в новой или существующей базе данных, используя Entity Framework, которая должна будет взаимодействовать с некоторыми устаревшими таблицами, и мне интересно, какой лучший подход здесь. Я надеялся использовать Code First с миграциями.Код Entity Framework сначала вокруг существующей базы данных
Например, у меня есть существующая населенная Person
таблицы, и мне нужно, чтобы создать Animal
таблицы, которая будет содержать PersonId
внешний ключ для ссылки на существующие людях.
Насколько я могу сказать, это мои варианты:
- Создать новую
DBContext
(для новой БД) сDBSet<Animal>
, используя код первых миграции и классы сущностей POCO. Устранены проблемы с настройкой внешнего ключа, указывающего на другую БД. Создайте новый
DBContext
(предназначенный для существующей БД) с помощьюDBSet<Animal>
и создайте какие-то обертки POCO вокруг существующей таблицы. Я не уверен, что это возможно - я пробовал что-то вроде этого, но при применении миграции EF пытался создать таблицуPerson
. Я предположил, что это было бы сопоставить существующую таблицу вместо создания нового: первый[Table("Person")] public class Person {
Использование базы данных с существующей БД и создавать таблицы в существующей БД, но тогда я потеряю на использовании ПОКО и миграции с мои новые идеи.
Есть ли лучшие варианты, которые мне не хватает, или я должен сначала использовать базу данных?
Would [код первого из базы данных] (https://msdn.microsoft.com/en-us/library/jj200620.aspx) или [Code First Миграция с существующая база данных] (https://msdn.microsoft.com/en-us/library/dn579398.aspx) работают на вас? – stuartd
Обычно вы можете сделать кодовую работу с существующим db, поэтому я бы не переключился на db-first именно по этой причине. Вам просто нужно вникнуть в соглашения моделирования, которые применяются EF (часто в событии «OnModelCreating»), а также некоторые выборочные ручные изменения самих скриптов миграции для учета того, что уже существует. Вы можете копать настолько глубоко, насколько вам нужно в EF, и люди делают это регулярно, чтобы заставить его работать с самыми разными обстоятельствами. – SlimsGhost
Я не знал, что первый код из базы данных существует - это выглядит идеально – woggles