ADO.NET Entity Framework - LINQ для нескольких баз данных - PullRequest
0 голосов
/ 26 марта 2009

Можно ли создать «сущность», которая будет абстракцией отношения между таблицами, которые находятся в двух разных таблицах, в двух разных базах данных, на двух разных машинах и даже, возможно, с использованием двух разных БД?

Например, если у меня есть база данных SQL Server на одном компьютере, на которой хранятся все мои клиенты, и база данных Oracle на другом компьютере, где хранятся все мои заказы, можно ли обернуть это в сущности, а затем сущность в выражении LINQ, как если бы они были вместе?

Спасибо!

Ответы [ 2 ]

1 голос
/ 26 марта 2009

Ух ты, это было бы идеальное решение n-Tier!

Не настолько, насколько я знаю. Если вы не создадите представление и не свяжете EF с представлением, но тогда оно будет доступно только для чтения (очевидно)?

0 голосов
/ 26 марта 2009

Вы можете использовать несколько файлов dbml с различным пространством имен для каждого файла (например, Myproject.Data.Customer, Myproject.Data.Orders и т. Д.).

Я думаю, что таким образом вы можете использовать несколько баз данных, находящихся на разных машинах. Использование разных пространств имен для разных БД обеспечивает очень хорошую изоляцию, это поможет вам сохранить каждый слой БД отдельно, и вы можете иметь отдельного человека / команду, работающую над каждым слоем независимо.

Вы можете поместить все это в один слой / пространство имен, но это будет усложнять и усложнять обслуживание.

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