受到这个问题的启发,我决定在我的 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(字符串,不为空)
- 平台(字符串,不为空)
- 版本(字符串,不为空)