この質問に拍車をかけ、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。私のスキーマ(したがって、私のクラスのプロパティ)には次のものが含まれます。platformversionAppSessions
- ID(int、nullではない)
- StartDate(DateTime、nullではない)
- EndDate(DateTime、null)
- IP(文字列、nullではない)
- MacAddress(文字列、nullではない)
- プラットフォーム(文字列、nullではない)
- バージョン(文字列、nullではない)