我正在使用 dotConnect linq 到 sqlite。我想要做的是在 foreach 循环中使用两个变量。遵循此代码,但它不起作用。这是我的代码片段。
bool check_units(int id)
{
MainDataContext medic = new MainDataContext();
bool check = false;
var medic_query = from m in medic.Medicines
orderby m.Id
where m.Id == id
select m;
var invo_query = from inv in medic.Invoices
orderby inv.Id
where inv.Id == id
select inv;
var med_inv = medic_query.Zip(invo_query, (m, i) => new { Medicine = m, Invoice = i });
foreach(var mi in med_inv)
{
if (mi.Medicine.UNIT > mi.Invoice.UNIT)
{
mi.Medicine.UNIT -= mi.Invoice.UNIT;
if (mi.Medicine.UNIT < 10)
{
MessageBox.Show(mi.Medicine.Name + " is short in Invertory!\nUnits Remaining: " + mi.Medicine.UNIT,
"Inventory Empty", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
chk = true;
}
else
{
MessageBox.Show("Not Enough Stock!\nUnits Remaining: " + mi.Medicine.UNIT,
"Inventory Short", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
medic.SubmitChanges();
return chk;
}
我面临的问题是我的代码出错
不支持查询运算符“Zip”。
没有任何语法错误或警告。我认为 Zip 运算符不能与 linqtosql 类型的查询一起使用!
等待支持!谢谢 :)