Контекст нескольких данных - PullRequest
0 голосов
/ 24 июня 2019

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

  • Базовые данные - общие поля для всех клиентов
  • Данные клиента - специфичные для клиента поля
  • Core Logic - Общая логика
  • Клиент WPF - Клиентская логика и представления WPF

После исследования я пытаюсь реализовать несколько контекстов данных в данных клиента, а не присоединять и повторно присоединять различные данные клиента к основной логике для каждого клиента.

С этой целью я создал интерфейс для контекста данных и внедрил его в единицу работы, которая будет использоваться с общим хранилищем.

Протестировал мой начальный созданный интерфейс, и он работает нормально. Проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь включить и создать миграции.

Для каждого контекста данных я сделал следующее

Enable-Migrations -MigrationsDirectory "\Migrations\[client]" -ContextTypeName ClientDataContext -force

Однако, поскольку оба контекста содержат одинаковые имена классов (в разных пространствах имен), я получаю следующую ошибку

Тип «Client_Data.client1.Model.Address» и тип «Client_Data.client2.Model.Address» оба имеют одно и то же простое имя «Address» и поэтому не могут использоваться в одной и той же модели. Все типы в данной модели должны иметь уникальные простые имена. Используйте «NotMappedAttribute» или вызовите «Игнорировать» в свободном API Code First, чтобы явно исключить свойство или тип из модели.

Есть ли способ сделать это или мне нужно объединить все, кроме основных данных, в один проект, а затем продублировать код для каждого клиента?

...