供应商 Vendorsid PointTo
123 456
456 412
789 853
项目 StandardItemNumber VendorSID 序列号
1234 123 A1234
4567 123 A4567
8523 456 A8523
1234 456 A1234
从程序中,我得到 123 并指向 456。我想检查 123 中的项目是否已经在供应商 456 下。所以骗子应该给我项目 1234,因为它与具有相同序列号的供应商 456 存在。但是骗子根本没有被处决。它挂在那个声明上。
var vendors = db.hp_GetEligibleVendors();
var items = from i in db.Items
where i.VendorID.Equals(vendors.VendorID)
select i;
foreach(var vendor in vendors)
{
var items = from i in db.Items
where i.VendorSID.Equals(vendor.VendorSID)
select i;
var dupes = from oi in items join di in db.Items
on new
{
oi.ItemNumber,
oi.SerialNumber
}
equals new
{
ItemNumber = di.ItemNumber,
SerialNumber = di.SerialNumber
}
where di.VendorSID.Equals(vendor.PointToVendorSID)
select oi;
}
在上面的查询中,得到欺骗需要很长时间。这个查询有什么问题?