mysql - 使用 LINQ 获取具有多对多关系的子表的所有记录

标签 mysql linq c#-4.0 entity-framework-4

我有表 A,其中包含列 ID 和名称。表 B 是与表 A 具有一对多关系的子表。我有表 C,它与表 B 具有一对多关系。我想获取表 A 的所有记录以及相关的表 B 数据和表 C 数据。

使用 Entity Framework 在 LINQ to SQL 中执行此操作的最佳方法是什么。我需要编写单独的查询吗? 或者是否可以在单个查询事务中获取。

我尝试在选择表 A 时包含表 B。但是要选择表 C 数据,我是否需要循环遍历表 B 还是可以直接使用 LINQ 查询

最佳答案

如果您使用 Entity Framework ,那么您可以使用.Include()方法

http://msdn.microsoft.com/en-us/library/bb738708.aspx

在不了解您的实际情况的情况下很难给出示例,但您的查询可能如下所示:

var data = context.TableA.Include("TableB");

如果您也想要 TableC,那么...

var data = context.TableA.Include("TableB.TableC");

关于mysql - 使用 LINQ 获取具有多对多关系的子表的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17589437/

相关文章:

MySql根据第一张表生成的ID插入到多张表

Linq To Entities 获取列表中的倒数第二个条目

visual-studio-2010 - 条件编译不起作用

c#-4.0 - 从匿名对象动态创建对象

linq-to-sql - 带有泛型的 Linq Where 子句无法识别 Equals 基类型

sql - Compojure + clojure.contrib.sql : SELECT query is being cached. 为什么?

mysql - 修复 Unicode Oops

php - 如何将 html 连接到 Azure 数据库?

c# - 使用 Linq 从可观察集合中选择 x 个对象

C# Linq 返回对象