2011-11-02 78 views
0

我有一个名为Table1的数据表Table与主键PId和子表名为Table2,PId作为外键。我的表格结构就像需要帮助来验证现有的记录组

Table1 
--- 

PId , Data1, 

1 , ABS, 

2 , DER, 


Table2 
--- 

TId,  PId, Cid , Data2, 

3 ,  1,  6 ,  FR, 

4 ,  1 , 66, RE, 

我需要根据Table1 Pid从Table2中提取Cid。意思为Pid 1需要取6和66.

任何人都可以请帮助我使用LINQ或任何C#代码。请不要介意,我不知道如何在堆栈溢出中格式化上述数据。

问候

普拉迪普

回答

1

这将连接表,我使用表Table 1和Table这是一个集DS1从表2

 var results = from t1 in DataContext.Table1 
         join t2 in DataContext.Table2 on t1.Pid equals t2.Pid 
         where t1.Pid == 1 
         select t2.Cid; 
+0

选择。我需要在上面的查询中的表1和表2的末尾添加AsEnumneable()吗? – Pradeep

+0

是的我相信你会遇到AsEnumerable()或AsQueryable(),上面的DataContext基于实体数据模型,所以它默认为可查询。由于我已经对数据集进行了编程,因此我不能说100%。 –

0

如果你有,你可以使用一个DataLoadOption对象,你可以调用它loadWith方法外键关系,你可以阅读更多的信息here

如果你没有外键关系,你可以在你的Linq查询中使用连接。连接的一个例子可以参见here