我正在阅读关于Linq到Sql字符串比较的矛盾解释.
当我执行以下操作时:
from p in db.People
where p.UserName=username
select p
Run Code Online (Sandbox Code Playgroud)
用户名="约翰"
我得到了正确的不区分大小写的结果.Linq是默认执行此操作还是在SQL数据库中发生这种情况?
我认为根据 db 变量指向的内容以及实际执行比较的位置,您会得到相互矛盾的结果。如果可以,linq 将构建查询并将其发送到 SQL 服务器。看来你可以通过调用强制不区分大小写
where p.UserName.ToLower()=username.ToLower()
Run Code Online (Sandbox Code Playgroud)