posted 2 years ago
All links you posted are in agreement, they don't contradict each other.
The first link tells you that for application components (not reusable libraries) you should use the lowest version number of the platform you're targeting. For an old Xamarin application, this is .NET Core 2.0.
The second link tells you to use .NET Core 2.0 for an old Xamarin application, and .NET 6 for a new Xamarin application.
The third link tells you to use .NET 6.0 if you're using EF Core 6.0. It doesn't say what version to use for what Xamarin version, but it does mention that there are known issues with Xamarin applications.
So really, it all boils down to this:
First choose a Xamarin version that you want your application to use.Target the .NET version that is supported by your chosen Xamarin version.Use the highest EF Core version that targets your .NET version.
The reason you can't upgrade your .NET version in your existing application is probably because you're using an older Xamarin version.
Try to create a completely new application that uses the latest Xamarin version with .NET 6, and see if it works. Then add the correct EF Core version.