この質問に拍車をかけ、MVC3/ActiveRecordアプリケーションでこれを試すことにしました。
私はすでにたくさんのモデルを動かしていて、それらのモデルで何かをするいくつかのビューがあります。ここでは特別なことは何もありません。私のモデルの1つはと呼ばれ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
、、、およびはすべて、検証可能にnullではないメソッド変数ですmacAddress
。私のスキーマ(したがって、私のクラスのプロパティ)には次のものが含まれます。platform
version
AppSessions
- ID(int、nullではない)
- StartDate(DateTime、nullではない)
- EndDate(DateTime、null)
- IP(文字列、nullではない)
- MacAddress(文字列、nullではない)
- プラットフォーム(文字列、nullではない)
- バージョン(文字列、nullではない)