Я использую Entity Framework 6.1.3 для подключения к базе данных Oracle.
Я пытаюсь использовать несколько контекстов с одним и тем же schemaName для oracle. Но когда я создаю контексты, оказывается, что они разделяют таблицу __MigrationHistory
, а когда второй контекст пытается создать себя, он выдает « ORA-00955: имя уже используется существующим объектом ». Чтобы прояснить два контекста, я попытался разделить их по дизайну домена и не делить между ними никаких сущностей.
Это код, который я пытаюсь запустить, и он отлично работает, когда я запускаю его на SQL Server. Но Oracle выдает ошибку ORA-00955.
try
{
using (var hContext = new HContextORCL(connectionString, "SchemaName"))
using (var aContext = new AContextORCL(connectionString, "SchemaName"))
{
hContext.Database.Initialize(true);
aContext.Database.Initialize(true);
}
}
Я попытался использовать CreateIfNotExists()
вместо Initialize, но получил ту же ошибку. Я попытался установить оба контекста Database.SetInitializer<context>(null);
, потому что на данный момент мне не нужны миграции. Но это тоже не сработает.
В идеале я хотел бы сохранить таблицу __MigrationHistory
и инициализировать оба моих контекста в Oracle. Но это не обязательно. Я чувствую, что схожу с пути, пытаясь выяснить все эти обходные пути, которые, когда я на них смотрю, кажутся слишком сложными для чего-то, что работает в SQL Server.
Я в недоумении, как инициализировать два контекста с одним и тем же именем схемы в базе данных оракула.