是否有可能创建一个'实体',它将生成两个不同的表,两个不同的数据库,两个不同的机器,甚至可能使用两个不同的dbms的表之间的关系的抽象?
例如,如果我在一台存储所有客户的计算机上有一个SQL Server数据库,并且我在另一台存储所有订单的计算机上有一个Oracle数据库,是否可以将其包装在一个实体中然后使用LINQ表达式中的实体就好像它们在一起一样?
谢谢!
答案 0 :(得分:1)
据我所知。除非你创建一个视图并将EF绑定到视图,否则它将是只读的(显然)?
答案 1 :(得分:0)
您可以为每个文件使用具有不同命名空间的多个dbml文件(如Myproject.Data.Customer,Myproject.Data.Orders等。)。
我认为这种方式可以使用驻留在不同计算机上的多个数据库。为不同的dbs使用不同的命名空间提供了非常好的隔离,它将帮助您保持每个数据库层分离,并且您可以让每个层上的独立人员/团队独立工作。
您可以将所有这些放在单个图层/命名空间中,但这会使事情变得更加复杂和难以维护。