Null Comparison Expression
A null value in the data source indicates that the value is unknown. You can check for null values so that certain calculations or comparisons are only performed on rows that have valid, or non-null, data. CLR null semantics, however, may differ from the null semantics of the data source.
The following LINQ query is expressed in the CLR, but it is executed in the data source. Because there is no guarantee that CLR semantics will be honored at the data source, the expected behavior is indeterminate.
using ( FluentModel dbContext = new FluentModel() )
{
IQueryable<string> productNames = from product in dbContext.Products
join category in dbContext.Categories on product.CategoryID
equals category.CategoryID
where category.Description == null
select product.ProductName;
foreach ( string productName in productNames )
{
Console.WriteLine( productName );
}
}
Using dbContext As New FluentModel()
Dim productNames As IQueryable(Of String) = _
From product In dbContext.Products
Join category In dbContext.Categories On product.CategoryID
Equals category.CategoryID
Where category.Description Is Nothing
Select product.ProductName
For Each productName As String In productNames
Console.WriteLine(productName)
Next productName
End Using