2009-08-26 4 views
3

si je lance ce sous C#pourquoi la requête sql est différente sur cette requête linq lorsqu'elle est exécutée sur C# et sur vb.net?

from p in Addresses where p.Address2 == null select p.AddressID 

il génère cette requête

SELECT [t0].[AddressID] 
FROM [dbo].[Address] AS [t0] 
WHERE [t0].[Address2] IS NULL 

si je lance cette sous vb.net

from p in Addresses where p.Address2 = nothing select p.AddressID 

il génère cette requête

SELECT [t0].[AddressID] 
FROM [dbo].[Address] AS [t0] 
WHERE [t0].[Address2] = '' 

p.Address2 est un champ varchar qui accepte la valeur nulle

pourquoi vb.net est "faux"? Dans VB, les vérifications nulles sont contrôlées avec le mot-clé "is"

+1

Non testé, mais ne devrait-il pas être 'de p dans Adresses où p.Address2 n'est rien sélectionner p.AddressID' –

Répondre

9

essayez ceci;

from p in Addresses where p.Address2 is nothing select p.AddressID 
Questions connexes