2008-11-19 6 views
1

J'ai une simple requête Linq to SQL qui tire des données avec une clause where par une chaîne. La requête de résultat ne met pas de guillemets autour de la chaîne.linq to sql ne met pas de guillemets autour des chaînes dans where clause

Exemple

 
string name = "John"; 
var query = from n in db.Names where n.Name == name select n; 

le résultat est

.... OU ([t0]. [Nom] = John) ....

Network est un varchar (10) et TNT a été peuplé à partir d'une variable de chaîne (non appelée John ;-). La chose étrange est ... parfois il fait cela et parfois non!

Des idées?

Répondre

1

Chaque instance que j'ai vu dans toute ma LINQ to SQL utilise des requêtes paramaterized donc je ne sais pas comment vous avez obtenu cette sortie .. il devrait être plus le long des lignes de:

WHERE ([t0].[Name] = @p0) 
[email protected] VARCHAR John 

si vous définissez votre context.log à console.out vous pouvez voir tout le sql s'exécutant .. Je suggère seulement ceci pour m'assurer que c'est ce qui se passe.

Questions connexes