相关疑难解决方法(0)

实体框架EF.Functions.Like vs string.Contains

我正在阅读实体框架核心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.Likestring.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
Run Code Online (Sandbox Code Playgroud)

两个版本之间有什么区别?EF已经知道如何翻译string.Contains/ StartsWith到相应的SQL操作,不​​是吗?

我能想到的唯一原因是EF.Functions.Like会允许更复杂的模式"a%b%"(尽管这个可以写成StartsWith("a") && Contains("b"))

这是什么原因?

c# entity-framework

39
推荐指数
2
解决办法
3万
查看次数

标签 统计

c# ×1

entity-framework ×1