Наилучшая практика создания классов LINQ-to-SQL для работы с одной и той же сущностью, представленной в 10 различных источниках данных? - PullRequest
1 голос
/ 11 июля 2009

Мне было интересно, как лучше создать LINQ-to-SQL классы для работы с данным объектом, который присутствует в 10 различных источниках данных. Допустим, у меня одна и та же база данных в 10 разных странах, в каждой из которых есть таблица «Клиенты», и моя цель - получить программный доступ ко всем из них. Должен ли я создать:

  1. одну модель данных ADO.NET, затем попробуйте объединить там все;

  2. столько классов LINQ-to-SQL, сколько существующие источники данных;

  3. один класс LINQ-to-SQL, отображающий один источник данных, то манипулирование строкой подключения.

Ваш отзыв будет очень признателен. Спасибо всем за ваши комментарии!

Ответы [ 2 ]

2 голосов
/ 13 июля 2009

Первый и третий варианты практически равны, главное то, что вы предпочитаете.
Если у вас нет схем с одинаковым именем во всех ваших источниках данных, вам придется внести некоторые изменения в модель вручную в любом из этих двух случаев.
В EF вам придется удалить атрибут Schema с помощью XML Editor.
В LINQ to SQL вам придется удалить префикс имени схемы из свойства Source в конструкторе.

2 голосов
/ 11 июля 2009

Что ж, если они действительно одинаковы, я бы просто выбрал вариант 3 - использовать разные строки подключения при подключении к каждому из источников данных.

...