Ecn*_*lyr 2 c# asp.net-mvc entity-framework asp.net-mvc-3
我目前在我的控制器中使用以下代码:
Instructor instructor = db.Instructors.FirstOrDefault(
o => o.UserName == User.Identity.Name);
Run Code Online (Sandbox Code Playgroud)
用户名选择某人.我的理解是,如果我的用户具有相似的用户名,我将无法使用"FirstOrDefault()"(当我有名为"MrUserOne"的用户搜索"MrUser"时,"MrUserTwo"和"MrUser"可能会产生"MrUserOne",因为这是"第一个"出现的搜索结果),如果我对"FirstOrDefault"未来遇到的困难的理解是正确的,我应该在它的位置使用什么?
或者我对FirstOrDefault如何运作的理解错了?
您似乎不太了解==操作员在此方案中的工作原理.假设UserName和Name值都是,string那么==将进行精确的序数匹配.该名称"MrUser"根本不匹配"MrUserOne".它只会匹配"MrUser".
话虽这么说,这个代码将返回其第一个用户Name值完全匹配o.UserName或者null如果没有这样做.
JaredPar说的很正确.但是如果你期望的是一个结果,你也可以使用SingleOrDefault.您可以在此Stackoverflow问题中阅读更多相关信息:LINQ:何时使用SingleOrDefault与FirstOrDefault()一起使用过滤条件
| 归档时间: |
|
| 查看次数: |
1079 次 |
| 最近记录: |