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

时间:2012-05-08 21:19:12

标签: linq linq-to-sql

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

   Dim catquery = _
         From cat In SQLEngine.DigiwaiterSQLDataSet.Categories
         Where cat.Field(Of Boolean)("Available") = True
         Select cat

我还有一个带有可用布尔字段的产品表和一个CategoryID,用于指示产品属于哪个类别。

Dim prodquery = _
         From prod In SQLEngine.DigiwaiterSQLDataSet.Products
         Where prod.Field(Of Boolean)("Available") = True
         Select prod

如何使用LINQ检查Categories表/ Catquery以查看产品的Category是否可用?

日Thnx,

麦克

1 个答案:

答案 0 :(得分:1)

您可以使用加入:

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部分,这是无用的)