機会は少ないですが、稀に対応するのでまとめ。
移行
ASP.NET から ASP.NET Core への移行 | Microsoft Learn
Npgsql (PostgreSQL/EF)
Microsoft.EntityFrameworkCore に移行するには、コードの修正量が多く、
System.Data.Entityを維持する際にしたこと。
JSON
[ASP.NET MVC]【徹底解説】JsonResultが生成する列挙型の値を数値ではなく列挙型名でシリアル化する - Qiita
//https://docs.microsoft.com/ja-jp/dotnet/standard/serialization/system-text-json-ignore-properties?pivots=dotnet-6-0#ignore-all-null-value-properties services.AddMvc(option => option.EnableEndpointRouting = false).AddJsonOptions(options => { options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; //日本語のシリアル化回避 //https://docs.microsoft.com/ja-jp/dotnet/standard/serialization/system-text-json-character-encoding options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All); //逆シリアル化時の大文字小文字区別しない(個別の箇所への設定必要) options.JsonSerializerOptions.PropertyNameCaseInsensitive = true; //JSON時のプロパティ名 options.JsonSerializerOptions.PropertyNamingPolicy = null; });
c# - NpgSql, Failed to set Database.DefaultConnectionFactory when try to connect with Conection String - Stack Overflow
Entity Framework 6 | Npgsql Documentation
コードベースの構成 - EF6 | Microsoft Learn
public class MyConfiguration : DbConfiguration { public MyConfiguration() { var name = "Npgsql"; SetProviderFactory(providerInvariantName: name, providerFactory: NpgsqlFactory.Instance); SetProviderServices(providerInvariantName: name, provider: NpgsqlServices.Instance); SetDefaultConnectionFactory(connectionFactory: new NpgsqlConnectionFactory()); } } [DbConfigurationType(typeof(MyConfiguration))] public class MyContextBase<T> : DbContext where T : DbObjectBase