Я читал анонс сущности framework core 2.0 https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-entity-framework-core-2-0/
В нем говорится, что они добавили новые функции Sql, такие как EF.Functions.Like для выполнения операции SQL LIKE.
Мне было интересно, что тогда будет разница между EF.Functions.Like и string.Contains/StartsWith?
Например:
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
В чем разница между двумя версиями?
EF уже знает, как перевести string.Contains/StartsWith на соответствующие операции SQL, не так ли?
Единственная причина, по которой я могу думать, это то, что EF.Functions.Like позволит более сложные шаблоны, такие как "a%b%" (хотя это можно записать как StartsWith("a") && Contains("b"))
Это причина?