EF Core 流利的可空警告 API
Nullable warning with EF Core fluent API
我在 VS2022 中启用了可为空。
我看不出这个可为 null 的警告的有效解决方案是什么。
builder.OwnsOne(o => o.CreatedByUser, createdByUser => {
createdByUser.Property(userRef => userRef.UserId)
.HasColumnName("CreatedByUser");
});
改变
userRef.UserId
至
userRef?.UserId
会清除错误,但这是一个流畅的 API 定义,这没有任何意义(我相信)。
我可以添加警告抑制,但这同样是垃圾。
请问这个警告的适当解决方案是什么?
EFC 6.0 之前的许多流畅(和其他)API 没有 NRT 注释,因此您必须抑制 NRT 警告或使用 null 宽容技巧。
EFC 6.0已修复,参考:What's New in EF Core 6.0 - EF Core annotated for C# nullable reference types:
GitHub Issue: #19007.
The EF Core codebase now uses C# nullable reference types (NRTs) throughout. This means that you will get the correct compiler indications for null usage when using EF Core 6.0 from your own code.
我在 VS2022 中启用了可为空。
我看不出这个可为 null 的警告的有效解决方案是什么。
builder.OwnsOne(o => o.CreatedByUser, createdByUser => {
createdByUser.Property(userRef => userRef.UserId)
.HasColumnName("CreatedByUser");
});
改变
userRef.UserId
至
userRef?.UserId
会清除错误,但这是一个流畅的 API 定义,这没有任何意义(我相信)。
我可以添加警告抑制,但这同样是垃圾。
请问这个警告的适当解决方案是什么?
EFC 6.0 之前的许多流畅(和其他)API 没有 NRT 注释,因此您必须抑制 NRT 警告或使用 null 宽容技巧。
EFC 6.0已修复,参考:What's New in EF Core 6.0 - EF Core annotated for C# nullable reference types:
GitHub Issue: #19007.
The EF Core codebase now uses C# nullable reference types (NRTs) throughout. This means that you will get the correct compiler indications for null usage when using EF Core 6.0 from your own code.