我目前在我的 Controller 中使用以下代码:
Instructor instructor = db.Instructors.FirstOrDefault(
o => o.UserName == User.Identity.Name);
通过用户名选择某人。我的理解是,如果我有具有相似用户名的用户,我将无法使用“FirstOrDefault()”(即当我有名为“MrUserOne”、“MrUserTwo”和“MrUser”的用户时搜索“MrUser”可能会产生“MrUserOne”,因为这是出现的“第一个”搜索结果),如果我对“FirstOrDefault” future 困难的理解是正确的,那么我应该用什么代替它?
还是我对 FirstOrDefault 工作原理的理解有误?
最佳答案
看来您不太了解 ==
运算符在这种情况下的工作原理。假设 UserName
和 Name
值都是 string
那么 ==
将进行精确的序号匹配。名称 "MrUser"
与 "MrUserOne"
完全不匹配。它只会匹配 "MrUser"
。
话虽如此,这段代码将返回其 Name
值与 o.UserName
完全匹配的第一个用户,如果没有则返回 null
。
关于c# - 如果我想在我的数据库中找到准确的搜索结果,我应该使用什么来代替 "FirstOrDefault()"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10217641/