使用Entity Framework处理多个数据源

5

是否有可能拥有一个EDM可以同时从两个数据源检索数据?比如,它可以从SQL Server数据库中检索3个表的数据,同时也可以从二进制文件中检索其他数据?

2个回答

5

简短回答:不行

您可以在edmx主数据库中链接数据库服务器,并编写视图或存储过程来访问链接服务器表中的数据。


3
不,您需要为每个数据源使用一个EDMX,然后使用存储库将结果合并到内存中。

请问您能否提供一个链接,告诉我如何做到这一点?特别是在内存中合并结果的部分。 - Attilah
1
取决于你需要做什么,但通常你会从数据库查询中获取结果,然后根据需要在内存中进行分配。如果您提出更具体的问题,我们可以给出更具体的答案。 - Chris Snowden
我有一个公开表1、表2和表3的EDM。现在,我有另一个API用于检索将用于表3的数据。我想要的是,当客户端执行以下操作时:var tb3 = context.table3.First(); =>它从API中检索数据,但是当他执行以下操作时:var tb2 = context.table2.First(); => 它从数据库的表2中检索数据。 - Attilah
你需要为每个数据库创建一个上下文,但是可以创建一个“存储库”访问类,该类具有两个上下文,以在需要时返回来自两个数据库的合并数据。 - Chris Snowden

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接