繁体   English   中英

LINQ to SQL查询的问题

[英]Issues With LINQ to SQL Query

我无法让我的LINQ to SQL查询之一正常工作。 我有以下三个表设置:

供应商ID-主键

厂商ID-主键

ManufacturerVendorRelationships id-主键maker_id-Manufacturer.id的外键vendor_id-vendor.id的外键

我正在尝试编写LINQ to SQL查询,该查询将获取当前与给定制造商不相关的供应商。 例如,下表数据应仅导致ID为1的制造商的2个供应商。在此示例中,有人可以帮助我使用LINQ to SQL吗? 现在,应用程序正在执行此逻辑。 提前致谢。

Vendors
ID
1
2
3
4
5

Manufacturers
ID
1
2
3
4
5

ManufacturerVendorRelationships
ID               ManufacturerID                   VendorID
1                1                                1
2                1                                2
3                1                                3

也许是这样的:

var result=(
        from v in db.Vendors
        where !db.ManufacturerVendorRelationships
                 .Select(s=>s.VendorID)
                 .Contains(v.ID)
        select v
    );

或者,如果您希望将其像字段一样:

var result=(
        from v in db.Vendors
        select  new
        {
            v.ID,
            HasManufacturer=db.ManufacturerVendorRelationships
                           .Select(s=>s.VendorID)
                           .Contains(v.ID)
        }
    );

其中db是linq数据上下文

int id= 1;
var result = 
dc.Vendors
  .Where(v => !dc.ManufacturerVendorRelationships
                 .Any(rel => rel.VendorId == v.Id && rel.ManufacturerId == id));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM