我有一对一的关系,我在两个表中都插入,但我的问题是我无法从外键表中检索数据。我想要任何解决方案。
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();
您得到的是最大id,然后将1
添加到其中,所以您的第二个查询不会返回任何内容,因为不存在Welder_ID
大于最大id的记录。我认为您应该删除load.Value + 1
load = load.HasValue ? load.Value : 1;
您也可以使用空合并运算符来简化它,如下所示:
int x = load ?? 1;
你所做的事情是这样的(为了更清楚):
int[] numbers = new [] { 1, 2, 3, 4, 5 };
int numberWhichIsNotExist = numbers.SingleOrDefault(x => x == numbers.Max() + 1);