我有一个列表:集合用户,其中包含大约 100K+ 用户记录(所有用户对象都从数据库中完全加载,其中包含生物、名字、姓氏等字段)。此集合在应用程序启动时从数据库中获取并保存在内存中。
然后我有如下代码:
User cachedUser = users.FirstOrDefault(x => string.Equals(x.UserName, username,
StringComparison.CurrentCultureIgnoreCase));
我用来从这个集合中获取用户。但不知何故,我注意到这个操作非常慢。使用 Linq 查询大对象的内存集合时是否存在性能问题?每次我想获得用户时,我是否应该调用数据库?