これらのデータアノテーションでうまくいくはずです。おそらくPostgreSQLプロバイダーに関連するものです。
EFコアのドキュメントから:
使用されているデータベースプロバイダーに応じて、EFによってクライアント側またはデータベース内で値が生成される場合があります。値がデータベースによって生成された場合、エンティティをコンテキストに追加するときにEFが一時的な値を割り当てることがあります。この一時的な値は、
SaveChanges
中にデータベースで生成された値に置き換えられます。 。
このFluentApi構成を試すこともできます:
modelBuilder.Entity<Foo>()
.Property(f => f.Id)
.ValueGeneratedOnAdd();
しかし、先に述べたように、これはDBプロバイダーに関連するものだと思います。 DBに新しい行を追加して、後でId
に値が生成されたかどうかを確認してください 列。