【发布时间】:2019-01-04 20:06:48
【问题描述】:
我有一个来自 MySQL 的内存列表和对象
requiredUserNames: 调用 "where users.Contains(us.Username)" 为什么它不区分大小写包含 where users 是内存列表对象(普通 c# 对象)而第二个工作正常,因为 C# 区分大小写:
var users = (from u in _dbContext.MyUser
select new
{
UserName = u.UserName
}).ToList();
var requiredUserNames = (from us in _dbContext.NextUsers
// users is a memory list and not a database list why executed as case insensitive
where users.Contains(us.Username)
select new { Username = us.Username}).ToList();
var requiredUserNames02 = (from us in _dbContext.NextUsers
// here working normally as case sensitive
where users.FindIndex((usr) => usr.Username.Equals(us.Username)) > -1
select new { Username = us.Username }).ToList();
【问题讨论】: