这仅适用于分类帐表中的现有客户:
var i = (from u in dc.GetTable<Ledger>()
where u.C_Id == u.Customer.Id &&
u.Customer.Name == textBox1.Text
select u.Id).Max();
这仅适用于分类帐表中的新客户:
var i = (from u in dc.GetTable<Ledger>()
where u.C_Id == u.Customer.Id &&
u.Customer.Name == textBox1.Text
select u.Id).SingleOrDefault();
<{1}} 中发生了 System.InvalidOperationException
为Ledger Table中的新客户和现有客户提供解决方案。在这两种情况下获取Ledger Id的查询是什么。
答案 0 :(得分:0)
我不确定为什么你想要最高ID,如果他们是倍数但这应该工作
var ledger =
dc.GetTable<Ledger>()
.Where(l => l.C_Id == l.Customer.Id)
.Where(l => l.Customer.Name == textBox1.Text)
.Select(l => l.Id)
.OrderByDescending(id => id)
.FirstOrDefault();
答案 1 :(得分:0)
最后我得到了正确的查询!这是在Ledger表中为新客户或现有客户获取分类帐Id的查询
var i = (from w in dc.GetTable<Customer>() //customer id
where w.Name == textBox1.Text
select w.Id).SingleOrDefault();
int? j = dc.Ledgers.Where(x => x.C_Id == i)
.Max(x => (int?)x.Id);