2016-10-08 1 views
0

Je veux exécuter une requête comme ceci:Quand je me sers SQLite dois-je utiliser une requête ou exécuter lorsque vous essayez à l'aide .Tout()

var exists = dbcon.Query<??>("SELECT 1 FROM Phrase WHERE Id = ?", id).Any(); 

Je ne ai pas besoin de récupérer des données. J'ai juste besoin de savoir s'il y a une phrase avec un Id qui correspond.

Ai-je besoin d'utiliser un .Query pour cela et aussi que puis-je remplacer le <??> avec?

+1

Cette requête renvoie les lignes contenant une seule valeur booléenne/entière. –

Répondre

2

En utilisant Linq vous pouvez faire comme ça. Il renvoie true si TOUS les articles existent dans la phrase.

if (dbcon.Table<Phrase>().Any(d => d.id== AnyId)) 
{ 
    //yeah it exist 
} 
0

Lorsque Id est en effet une clé primaire, comme son nom l'indique, il pourrait être plus rapide d'utiliser

dbcon.Find<Phrase>(id) != null 

Je ne sais pas si cela vaut la .Any(<predicate>) mais il vaut la peine d'essayer.