ADO.NET实体框架 - LINQ到多个dbms

时间:2009-03-26 12:51:06

标签: .net sql-server linq entity-framework

是否有可能创建一个'实体',它将生成两个不同的表,两个不同的数据库,两个不同的机器,甚至可能使用两个不同的dbms的表之间的关系的抽象?

例如,如果我在一台存储所有客户的计算机上有一个SQL Server数据库,并且我在另一台存储所有订单的计算机上有一个Oracle数据库,是否可以将其包装在一个实体中然后使用LINQ表达式中的实体就好像它们在一起一样?

谢谢!

2 个答案:

答案 0 :(得分:1)

哇,那将是最终的n-tier解决方案!

据我所知。除非你创建一个视图并将EF绑定到视图,否则它将是只读的(显然)?

答案 1 :(得分:0)

您可以为每个文件使用具有不同命名空间的多个dbml文件(如Myproject.Data.Customer,Myproject.Data.Orders等。)。

我认为这种方式可以使用驻留在不同计算机上的多个数据库。为不同的dbs使用不同的命名空间提供了非常好的隔离,它将帮助您保持每个数据库层分离,并且您可以让每个层上的独立人员/团队独立工作。

您可以将所有这些放在单个图层/命名空间中,但这会使事情变得更加复杂和难以维护。