【发布时间】:2011-03-08 11:14:32
【问题描述】:
我陷入了 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
帮帮我
【问题讨论】:
-
为什么不使用常规的 LINQ join 关键字?你知道 SQL 中的连接吗?可以使用简单的
INNER JOIN改进您的 SQL 查询。如果你的映射很好,你甚至不需要加入并选择b.Category.Name或其他任何东西。
标签: c# asp.net linq-to-sql