我有一对一的关系,我插入两个表,但我的问题是我无法从外键表中检索数据。我想要任何解决方案。
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();
答案 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);