Подход к использованию нескольких версий базы данных - PullRequest
0 голосов
/ 22 мая 2018

У меня есть приложение WPF, которое я разрабатываю на языке c #, и мне нужно подключиться к нескольким версиям одной и той же базы данных, чтобы программа работала.Мне не нужно подключаться к более чем одной версии одновременно, но я ищу подход, который не требует от меня написания 5-10 различных слоев данных.

Если у меня есть объект widgetV1, widgetV2 и т. Д., И я хотел бы «GetWidget» ... Я не очень рад написать «GetWidgetV1», «GetWidgetV2»,и т.д. функции.Это может стать очень утомительным, если мне придется писать один и тот же код для 5-10 версий, снова и снова ... для каждого объекта в базе данных.

Таблицы немного отличаются, возможно,еще несколько столбцов в одном, чем в другом.Там могут быть некоторые различия типов.

WidgetV1 может иметь Prop1, Prop2, PropC WidgetV2 может иметь Prop1, Prop3, ProcC, PropD

Так что некоторые свойства будут одинаковыми, но другие будутразные.

Я начал подход с использованием обобщений, где я могу получить, добавить, удалить и т. Д., Передавая тип - widget1, widget2 и т. Д. Но я все еще должен иметь фактическийтипы и нужно выбрать тип в зависимости от того, какую версию я определил, к которой я подключен.

У меня нет проблем с внешним интерфейсом, я беру любую версию объекта и конвертирую ее в DTO, и там все выглядит одинаково, но я чувствую, что доступ к даннымпридется дублировать много раз.

Есть идеи?

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