2009-03-26 3 views
0

Возможно ли создать «Entity», которое будет представлять собой взаимосвязь между таблицами, которые живут в двух разных таблицах, в двух разных базах данных, на двух разных машинах и даже, возможно, используя два разных dbms?ADO.NET Entity Framework - LINQ to multiple dbms

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

Спасибо!

ответ

1

Вау, это было бы окончательное решение n-уровня!

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

0

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

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

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