如何使用外键表从一对一的关系中检索数据?

时间:2014-04-12 23:43:04

标签: c# sql linq

我有一对一的关系,我插入两个表,但我的问题是我无法从外键表中检索数据。我想要任何解决方案。

Qualified__For QF = new Qualified__For();
Int32? load = (from we in welding.Qualified__Fors
                    orderby we.Welder_ID
                    select (Int32?)we.Welder_ID).Max();

load = load.HasValue ? load.Value + 1 : 1;
int x = load.Value;

var load_Welder = welding.Qualified__Fors.SingleOrDefault(a => a.Welder_ID == x);

Lbl_from_material.Text = load_Welder.Material_From.ToString();
Lbl_to_material.Text = load_Welder.Material_To.ToString();

1 个答案:

答案 0 :(得分:1)

您正在获取最大ID,然后向其添加1,因此您的第二个查询不会返回任何内容,因为没有存在Welder_ID大于最大ID的记录。我想你应该删除load.Value + 1

load = load.HasValue ? load.Value  : 1;

您也可以使用null-coalescing运算符来简化它:

int x = load ?? 1;

你所做的就是这样(为了更清楚):

int[] numbers = new [] { 1, 2, 3, 4, 5 };

int numberWhichIsNotExist = numbers.SingleOrDefault(x => x == numbers.Max() + 1);