J'ai lu l'annonce de l'entity framework core 2.0 https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-entity-framework-core-2-0/
Il dit qu'ils ont ajouté de nouvelles fonctions Sql comme EF.Functions.Like
pour l'exécution de SQL LIKE
de l'opération.
Je me demandais, quelle serait la différence entre l' EF.Functions.Like
et string.Contains
/StartsWith
?
Par exemple:
var customers = context.Customers.Where(c => c.Name.StartsWith("a")); // Version A
var customers = context.Customers.Where(c => EF.Functions.Like(c.Name, "a%")); // Version B
Quelle serait la différence entre les deux versions?
EF sait déjà comment traduire string.Contains
/StartsWith
pour les requêtes SQL correspondant opérations, n'est-ce pas?
La seule raison pour laquelle je peux penser, c'est que EF.Fonctions.Comme le permettrait pour des modèles plus complexes comme "a%b%"
(bien que celui-ci peut être écrit comme StartsWith("a") && Contains("b")
)
Est-ce la raison?