供应商Vendorsid PointTo
123 456
456 412
789 853
项目StandardItemNumber VendorSID SerialNumber
1234 123 A1234
4567 123 A4567
8523 456 A8523
1234 456 A1234
从程序中,我得到123并指向456.我想检查123中的项目是否已经存在于供应商456下面。因此,dupes应该给我项目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;
}
在上面的查询中,获取欺骗需要永远。这个查询出了什么问题?
答案 0 :(得分:0)
我能够解决这个问题。我不得不添加ItemNumber = oi.ItemNumber,SerialNumber = oi.SerialNumber。这解决了问题。感谢所有回复的人。