作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在this question的刺激下,我决定在MVC3 / ActiveRecord应用程序中尝试此操作。
我已经有很多模型在工作,并且有一些 View 可以处理这些模型。这里没什么特别的。我的一种模型称为AppSession
。
基于上述问题,我希望它可以正常工作:AppSession.FirstOrDefault(a => ...) ?? null
。
没用我仍然收到InvalidOperationException
。 FirstOrDefault
和SingleOrDefault
确实如此。我最终将通话包装在try/catch
中以解决该问题。
我在这里做错了什么?
编辑:根据要求,实际代码为:
void getAnAppSession() {
AppSession sessions = project.AppSessions.FirstOrDefault(a => a.Ip == ip && a.MacAddress == macAddress && a.Platform == platform && a.Version == version && a.EndTime == null)
}
ip
,
macAddress
,
platform
和
version
都是可验证为非null的方法变量。我的
AppSessions
模式(以及类的属性)包括:
最佳答案
也许您的project.AppSessions
本身为null?这将导致FirstOrDefault()
方法引发错误。您可能想在调用FirstOrDefault
之前检查它是否为空,如果它为空,则创建一个新的AppSession对象:
AppSession sessions = (project.AppSessions as AppSession ?? new AppSession())
.FirstOrDefault(a => a.Ip == ip &&
a.MacAddress == macAddress &&
a.Platform == platform &&
a.Version == version &&
a.EndTime == null);
关于asp.net-mvc-3 - LINQ的* OrDefault在MVC3 + ActiveRecord中引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10921701/
我是一名优秀的程序员,十分优秀!