使用Linq选择表A中的记录时,检查表B中字段的值

使用Linq选择表A中的记录时,检查表B中字段的值,linq,linq-to-sql,Linq,Linq To Sql,希望我能说清楚: 我有一个带有CategoryID的categories表和一个布尔字段 Dim catquery = _ From cat In SQLEngine.DigiwaiterSQLDataSet.Categories Where cat.Field(Of Boolean)("Available") = True Select cat 我还有一个products表,其中包含一个可用的布尔字段和一个CategoryID,它指

希望我能说清楚: 我有一个带有CategoryID的categories表和一个布尔字段

   Dim catquery = _
         From cat In SQLEngine.DigiwaiterSQLDataSet.Categories
         Where cat.Field(Of Boolean)("Available") = True
         Select cat
我还有一个products表,其中包含一个可用的布尔字段和一个CategoryID,它指示产品属于哪个类别

Dim prodquery = _
         From prod In SQLEngine.DigiwaiterSQLDataSet.Products
         Where prod.Field(Of Boolean)("Available") = True
         Select prod
如何使用LINQ同时检查Categories表/Catquery以查看产品的类别是否可用

Thnx

Mike

您可以使用连接:

Dim prodquery = _
         From prod In SQLEngine.DigiwaiterSQLDataSet.Products
         Join cat in SQLEngine.DigiwaiterSQLDataSet.Categories
             On prod.Field(Of Int32)("CategoryId") Equals cat.Field(Of Int32)("CategoryId")
         Where prod.Field(Of Boolean)("Available")
         AndAlso cat.Field(Of Boolean)("Available")
         Select prod
(我删除了无效的
=True
部分)