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

时间:2013-07-11 09:10:57

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

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

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

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

1 个答案:

答案 0 :(得分:1)

如果您使用的是实体框架,那么您可以使用.Include()方法

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

在不知道您的实际情况的情况下很难给出一个例子,但您的查询可能会像这样:

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

如果你想要TableC那么......

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