【发布时间】:2017-05-09 11:25:35
【问题描述】:
我正在制作一个 ASP.NET MVC 应用程序,对于像 Edit 或 Details 这样需要单个项目的操作,使用 myDbContext.MyDbSet.Single(i => i.Id == id) 或 myDbContext.MyDbSet.Find(id) 更好吗?后者更短,在我看来更简洁,不需要 Linq 方法,但我在 ASP.NET MVC 上阅读的资料似乎更喜欢前者。
我找不到查看实现的方法,但如果我不得不猜测,我会说Single() 可能会在某个地方使用Find(),这表明更多的方法调用和较低的效率/表现。我的想法对吗?
【问题讨论】:
-
.Find()仅适用于List<T>对吗? -
Single 在没有准确记录时抛出异常。它不像 Find 那样允许空值。它不仅仅是性能。
-
@CodeCaster 啊,我在想这个:stackoverflow.com/questions/9335015/…
标签: c# asp.net asp.net-mvc entity-framework linq