Могу ли я создать два контекста Entity Framework, которые имеют одинаковую модель для обоих контекстов? - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть два отдельных набора таблиц в одной базе данных, которые моделируют одни и те же данные, но в разных состояниях.Один из них - это живое состояние, а другой - промежуточное состояние (не тестовое).Я пытаюсь создать модель, которая позволит мне выбрать, какой источник данных / текст данных использовать во время выполнения, но они оба должны иметь одинаковую модель.

public TestObject GetTestObject(string testNum, string Environment)
{
    IDataContext context = DataContextFactory.GetContext(Environment);
    TestObject t = (from test in context.Orderable
                         where test.TestNumber == testNum
                         select test).FirstOrDefault();
    return t;
}

Очевидно, на основе приведенного выше кода, еслиОкружающая среда - Постановка, я вытащил из набора столов.Если среда живая, то я получаю другой набор таблиц.

Итак, обычно с EF я получаю две отдельные модели с разными именами.Если я пытаюсь дать им то же имя, я получаю сообщение об ошибке, в котором говорится, что в проекте уже есть объект с таким именем.

Недавно я изучил свой собственный POCO для использования базы данных, но не смогсоедините точки, чтобы создать решение.

РЕДАКТИРОВАТЬ: изменено с «Два источника данных» на «Два набора таблиц в одной базе данных».Это явно сбивало с толку, мои извинения.

Ответы [ 2 ]

1 голос
/ 04 апреля 2012

Возможно ли это?Наверное.Это хорошая идея?Нет. Это займет больше времени, чем стоит, чтобы заставить его работать?Скорее всего.

0 голосов
/ 03 апреля 2012

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

Вам просто нужно поменять строку подключения, которая используется при создании экземпляра вашего контекста во время выполнения. Это позволит вам указать ваш контекст на производственную или промежуточную базу данных.

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