受到这个问题的启发,我决定在我的 MVC3/ActiveRecord 应用程序中尝试一下。
我有一堆模型已经在工作了,还有一些视图可以处理这些模型。这里没什么特别的。我的一个模型叫做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
都是可验证不为空的方法变量。我的架构AppSessions
(因此,我的班级的属性)包括:
- ID(整数,非空)
- StartDate(日期时间,不为空)
- 结束日期(日期时间,空)
- ip(字符串,不为空)
- MacAddress(字符串,不为空)
- 平台(字符串,不为空)
- 版本(字符串,不为空)