繁体   English   中英

Linq to Sql中的子查询

[英]subqueries in Linq to Sql

即时消息卡在linq查询中,即时消息在其中搜索数据库并使用显示结果

DBSearchDataContext db = new DBSearchDataContext();
        object q = from b in db.Products
                   where b.ProductCode.Contains(val) |
                   b.ProductName.Contains(val) |
                   b.Specification.Contains(val) |
                   b.Description.Contains(val) |                       
                   b.Category.Contains(val) 
                   select b;

      GridView1.DataSource = q;
     GridView1.DataBind();

我无法从categoryID匹配的类别表中显示类别名称。

我这样在SQL中这样做

如何在linq中做到这一点

SELECT ID, ProductCode, DisplayOrder, ProductName, imgThumb, inStock, Status, Amount, (SELECT Category FROM Category AS aaa WHERE (Products.CategoryID = CategoryID)) AS Category FROM Products ORDER BY ID DESC

帮我

如果缺少某些映射,为什么不使用简单的联接?

var q = from p in db.Products
        join c in db.Category on p.CategoryID equals c.CategoryID
        where ...
        select new
        {
          p.ProductCode,
          ...,
          c.Category
        };

或具有适当的映射:

var q = from p in db.Products
        where ...
        select new
        {
          p.ProductCode,
          ...,
          p.Category.Category
        };

您可以将子查询放入Linq LET子句中。 看到

例如。

暂无
暂无

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

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