我有两个数据库。 MasterData和ProductData。 我将用户和员工存储在MasterData中,并将任务存储在ProdcutData中。 Task实体具有User属性。它显示了哪个用户创建了此任务。
如果我只使用一个数据库和一个DataContext,我可以在两个实体之间定义一个或多个关系。但我必须使用两个数据库和datacontexts。
我是否定义了不同数据库中两个实体之间关系的解决方案,datacontexts?
谢谢提前:l。答案 0 :(得分:0)
好吧,除非我遗漏了某些内容,否则无论是L2S还是EF,都无法连接来自不同上下文/数据库的两个实体。替代方案是汇集来自两个上下文的所有可能相关的数据并执行内存中的linq来执行关系操作,但这肯定会导致加载过多数据的性能问题。
这是一个“小说”的想法,为什么不使用DataSet?不同的表适配器可以使用不同的连接字符这是相当古老的L2S / EF旁边但它会为你提供最多的铃声和关系口哨。
我确实有一个问题,如果您将用户及其任务保存在单独的dbs中,您如何处理参考完整性?
答案 1 :(得分:0)
这不是一个完整的答案,但它可能会让你想到另一个解决方案。
根据您使用的DBMS,您可能能够从一个数据库到另一个数据库创建同义词或可更新视图(或类似的东西)。您可以使用DataContext包含同义词/视图和表。
在sql-server中: http://msdn.microsoft.com/en-us/library/ms177544.aspx
答案 2 :(得分:0)