【解決方法】データベースで生成されたプロパティのエンティティ フレームワークを設定する方法


こんにちは

文字列 ID を持つエンティティがあります。
これは、関数によってデータベースに自動生成されます。
ナゲット パッケージ entityframeworkcore.sqlserver バージョン 7.2 を使用してエンティティをデータベースに格納していますが、どういうわけか期待どおりに動作しません。

IDはデータベースイベントに書き込まれ、すべてのパラメーターを設定して、追加時に自動生成されたことを知らせます。

自動生成されたプロパティで文字列キーを作成できないという調査をいくつか行いましたが、これは後でサポートされるはずなので、なぜこれが機能しないのですか。

データベースにレコードを手動で追加すると、データベース生成関数は正常に機能します。

誰かが私に何をすべきか教えてもらえますか。

[Table("Users")]
public class IdentityUser
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public string Id { get; set; }
    public string FirstName { get; set; } = string.Empty;
    public string LastName { get; set; } = string.Empty;
}

私のエンティティフレームワークはこれです

public class UserStore : DbContext
    {
        private const string _connectionString = "" //this is a hidden working connectionstring;

        public DbSet<IdentityUser> Users { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(_connectionString);
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<IdentityUser>().HasKey(x => x.Id);
            modelBuilder.Entity<IdentityUser>().Property(x => x.Id).ValueGeneratedOnAdd();
        }
    }

私が試したこと:

Google検索
chatgpt ヘルプ

私の問題の解決策が見つかりませんでした。

解決策 1

ここに良いGoogle検索があります: エンティティ フレームワークのチュートリアル – Google 検索[^]

これは、検索結果で、必要に応じて少し使用しました。 エンティティ フレームワークのチュートリアル[^]

コメント

タイトルとURLをコピーしました