通过实体框架中的多个表获取值?

Posted

技术标签:

【中文标题】通过实体框架中的多个表获取值?【英文标题】:Get a value going through several tables in entity framework? 【发布时间】:2015-01-26 04:45:44 【问题描述】:

我有一种情况,我试图获取存储在一个表中的值,但必须遍历同一数据库中的其他几个表才能获得正确的结果。

表 1 有一个我可以查询的 PK ID,这个 PK 会给我一个新的表 2 中的 FK,这会给我一个表 3 的键,表 3 会给我表 4 的键,它的值存储在表 1 中的 PK。如果这有意义吗?我不能对表或数据库做点什么,所以我需要找到一种方法,从表 1 中的主键中选择表 4 中的值。

有什么想法吗?

编辑 1:

我会尽力解释得更好。我在表 4 中有一个 filepath。要获得正确的文件路径,我需要首先在表 1 中找到一个 project id。同样的 project id 是表 2 中的 FK。在表 2 中,我需要使用 project id 作为 FK,即 customer id 是表 3 中的 FK。在表 3 中,我需要使用 customer id 作为 FK 来查找购买 id,purchase id 是表 4. 使用表 4 中正确的 FK (purchase id),我可以获得正确的 filepath。与表 1 中的项目 ID 对应的文件路径。

我正在使用 ASP.NET(实体框架)和 SQL 数据库。我正在考虑使用 Linq,但对如何做有点困惑。加入多个表或尝试以这种方式获取文件路径?

这样是不是更清楚了?

【问题讨论】:

问题/问题是什么?这是非常模糊的。 ...以及哪个 RDBMS? 我试图清除它。见编辑。 我在考虑使用 Linq - 这很好,但是您处于该过程的哪个阶段?显然,我们不会在这里指导您完成有关 EF 的初学者课程。如果你被一段代码卡住了,做我的客人吧。 【参考方案1】:

使用 Linq 加入查询,..

一个例子,见这里 Entity Framework Join 3 Tables

或在谷歌搜索LINQ加入,你可以自己找到解决方案。

【讨论】:

以上是关于通过实体框架中的多个表获取值?的主要内容,如果未能解决你的问题,请参考以下文章

通过实体框架中的变量引用表

如何从实体框架中的存储过程中获取结果+数据库优先

在实体框架核心中获取最新记录

如果我想将两个不同表中的 2 个值相乘,我应该在迁移中输入啥? ASP.NET MVC 实体框架

如何从使用实体框架的外键链接的多个表中获取所有数据?

实体框架存储过程表值参数