Open5
EntityFramework関連
・EFCore 5.0
・Include()
時に発行されるSQLにORDER BYが含まれる 該当issue
・件数・結合テーブル数が増える場合注意が必要
・特にThenInclude()
の件と複合すると応答時間が大幅に伸びる可能性がある
・当面はInclude()
を性能が許す範囲に抑えて、自前で同等の処理を実装するのがよさそう
・EFCore 5.0
・ThenInclude()
時にフィルターを入れていない場合でもサブクエリを含むSQLが発行される 該当issue
・とりあえずSQLServerで自分で試した範囲では大きな影響は無さそうだったが、テーブル構造やDBMSによっては性能に影響する懸念あり
・特にInclude()
の件と複合すると応答時間が大幅に伸びる可能性がある
・気になる場合は当面ThenInclude()
を使用せず、自前で同等の処理を実装する
・EFCoreの場合変更を行わないデータの取得時はAsNoTracking()
を呼び出しておく
・~EF6.0の場合は必要無い (はず)
DataAnnotationはなんだかんだで大体MSDNでカタがつく
Code First Data Annotations (Code First のデータ注釈)