2017-10-03 15 views
0

Ma base de données est postgressive et je l'ai déjà échafaudé et correctement mappé aux MVC. Maintenant, je l'ai rencontré un problème, parce que maintenant je besoin d'un moyen d'appeler la recherche en texte intégral, comme dans cette simple requêteAppel de l'opérateur/fonction spécifique à sql (recherche plein texte) tout en utilisant ORM

Select * from fl_file storage where fl_file.text @@ 'dog cat rain'; 

Je ne l'ai pas trouvé un moyen comment écrire une requête LINQ qui sera traduit en au-dessus de la chaîne sql, sauf faire une méthode d'extension LINQ qui appelle à la procédure stockée qui exécuterait simplement la recherche en texte intégral. Je trouve cette approche "un peu" maladroite, et je suis plutôt sûre que si je le fais, je vais juste réinventer une roue (probablement une case) donc toute aide pour résoudre ce problème serait apréciée

Répondre

0

J'ai trouvé le moyen de le faire, bien que je ne savais pas comment combiner LINQ avec du SQL pur. En. Net core son FromSql dans Microsoft.EntityFrameworkCore.Relational assembly

String str = "dog cat rain"; 
_context.FlFile.FromSql(@"select * from fl_file where fts @@ plainto_tsquery({0})", str)