LINQ Query . tolist()在运行时失败



我试图理解为什么下面的查询失败了

系统。NullReferenceException:对象引用没有设置为对象的实例。

            var query = from p in  UserProfiles.ToList()
                    where p.FirstName.ToLower().Contains(lettersToMatch.ToLower()) || p.LastName.ToLower().Contains(lettersToMatch.ToLower()) 
                    select new MembershipSummaryDTO
                    {
                        EmailAddress = p.EmailAddress,
                        FullName = string.Format("{0} {1}", p.FirstName, p.LastName),
                        UserName = p.UserName,
                        IsApproved = p.IsEnabled,
                        UserId = p.UserId
                    };
栈跟踪指向WHERE子句

第133行:p. firstname . tolower ().Contains(lettersToMatch.ToLower()) || p. lastname . tolower ().Contains(lettersToMatch.ToLower())

修复是删除UserProfiles.ToList()上的. tolist(),我想了解为什么这会失败(没有修复到位)。

.之前的是null

ToList导致大多数查询作为LINQ to Objects运行,这完全具有c#语义。没有ToList,大多数运行在数据库中,数据库对NULL值有不同的语义。

可能,您应该都理解什么是null 在数据库中运行查询

相关内容

  • 没有找到相关文章

最新更新