You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
using Microsoft.EntityFrameworkCore;classMyClass{}classMyDbContext:DbContext{publicDbSet<MyClass> MyDbSet {get;set;}=null!;}
Prior to EF Core 7 this was a normal example of Db context declaration. However, since EF Core 7 introduced a nullability warning suppressor for DbSet properties, the = null!; is no longer needed and can be considered as unnecessary noise. It would be great to have an analyzer + codefix, that would suggest to remove the = null!; part.
Notes:
By playing with diagnostic tags you can actually make = null!; fade out the way VS fades out all unnecessary code parts (usings, parentheses etc.). This should also work in Rider, but I am not sure
The codefix should have proper fix-all support, so if a user updates his codebase from EF Core 6, he can just fix all such cases in several clicks
The diagnostic should only trigger for actual nullability suppressions like = null!; or = default!;. It should not be reported for things like = null;, because without nullability suppression operator it is no longer a EF-specific case
The text was updated successfully, but these errors were encountered:
Really nice idea, I like it; added to #22086 for tracking along with other analyzer ideas.
Unfortunately there's a compiler bug which makes the suppressor fail when warnings-as-errors is enabled (#29582), so this wouldn't be a great idea until that's fixed...
Consider the following basic EF Core setup:
Prior to EF Core 7 this was a normal example of Db context declaration. However, since EF Core 7 introduced a nullability warning suppressor for DbSet properties, the
= null!;
is no longer needed and can be considered as unnecessary noise. It would be great to have an analyzer + codefix, that would suggest to remove the= null!;
part.Notes:
= null!;
fade out the way VS fades out all unnecessary code parts (usings, parentheses etc.). This should also work in Rider, but I am not sure= null!;
or= default!;
. It should not be reported for things like= null;
, because without nullability suppression operator it is no longer a EF-specific caseThe text was updated successfully, but these errors were encountered: