C# 在datagridview上显示外键

C# 在datagridview上显示外键,c#,sql,datagridview,C#,Sql,Datagridview,假设数据库中有两个表,表1和表2。从表2到表1,关系是一对多。我想在GUI上显示表1中的所有数据,而不是表2中的所有列。表2中的外键是表1中的列: Table2 table2; 我试图显示表1中的数据和表2中的一些列+外键。我的问题是如何显示外键,下面是部分代码: List<Table1> list = new List<Table1>(); Table t2 = new Table2(); t2.prop1 = done using OledBReader; t2.p

假设数据库中有两个表,表1和表2。从表2到表1,关系是一对多。我想在GUI上显示表1中的所有数据,而不是表2中的所有列。表2中的外键是表1中的列:

Table2 table2;
我试图显示表1中的数据和表2中的一些列+外键。我的问题是如何显示外键,下面是部分代码:

List<Table1> list = new List<Table1>();
Table t2 = new Table2();
t2.prop1 = done using OledBReader;
t2.prop2 = ...;
t2.prop3 = ...;


Table1 t1 = new Table1();
t1.prop1 = ...;
t1.prop2 = ...;
*t1.Table2 = t2;*

list.Add(t1);
List List=新列表();
表t2=新表2();
t2.prop1=使用OledBReader完成;
t2.2=。。。;
t2.3=。。。;
表1 t1=新表1();
t1.1=。。。;
t1.2=。。。;
*t1.2=t2*
列表。添加(t1);
表2的两个属性是name和姓氏,因此我将覆盖toString(),以便其中一列将是name姓氏。外键是ID,但我不知道如何将其显示为列(我不想将其包含在override方法中)。我的问题是,我的属性不是外键ID,而是类Table2的整个对象,在Table2中,我必须覆盖名称和姓氏,所以我不知道在哪里包含这个ID,所以我在末尾有ID列


我希望这个解释有帮助。

外键表2是表1的主键,对吗?如果您显示表1中的所有列,那么它将显示在那里。“那你想得到什么?”克里希纳现在明白了。我没有,因为我没有外键属性,而是将整个对象作为属性,但我添加了整个对象作为属性(其中tostring()被重写,我将名称和姓氏作为一列),ID也作为表1中的属性(所以现在我也最终显示了该列)。谢谢你的帮助!