-1

供应商 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;
}

在上面的查询中,得到欺骗需要很长时间。这个查询有什么问题?

4

1 回答 1

0

我能够解决这个问题。我必须添加 ItemNumber = oi.ItemNumber,SerialNumber = oi.SerialNumber。这样就解决了问题。感谢所有回复的人。

于 2013-10-15T15:10:25.220 回答