EF Core 6 のリバースエンジニアリングがNull許容参照型に対応したのが嬉しい話
EF Core6 は.NET6実装
EF Core5は.NET Standard 2.1での実装だったので、.NET Core 3.1以降であれば利用が可能でした。
対してEF Core 6は.NET 6での実装なので.NET 6での利用に限定されます。
これは、.NET Core 3.1が2022年11月、.NET5が2022年2月?でEOLになるからそらSupportしないよねという感想。
EF Core5のリバースエンジニアリングはNull許容参照型は未対応だった
EF Core5は制約事項として、リバースエンジニアリングでのEDM&DBContext生成時Null許容参照型はdisableでした。
この辺結構嫌というか、令和の言語はnull安全であってほしい(基本的にはフロー解析ではじきたい)ので、enableになればいいなーと2年くらい思っていました。
※ 誤解のないように書くと、EF Core5はすごく出来の良いORMだったし、performanceもずいぶん改善されて来たので、1joinくらいならEF Coreでいいかなーというお気持ちでした。(CommandはEF Core、QueryはDapper派)
EF Core6はリバースエンジニアリングでもNull許容参照型に対応した
なので、今回嬉しいポイントはここでした。
csprojに<nullable>enable</nullable>
を書かなきゃいけないですが、そんなものいくらでも書きます。
というか、vs2022になって、csprojを直接書くだけじゃなく、GUIを使ってもいいかと思えるようになるくらい、vs2022はUIが良変更ですしね。