エンティティフレームワークコア自己参照オプションプロパティ

c# entity-framework-core

質問

私はMicrosoft.EntityFrameworkCore.Sqlite v1.0.1を使用しています。これは私のエンティティです:

public class Category
{
    public int CategoryId { get;set;}
    public Category ParentCategory { get; set; }
    public int? ParentCategoryId { get; set; }
    public string Name { get; set; }
    public DateTime DateCreated { get; set; }
    public DateTime DateModified { get; set; }
}

だから私はオプションのプロパティとしてParentCategoryを設定する必要があります。 EFコアでこれを行うにはどうすればいいですか?これまでの私の流暢なマッピングです:

modelBuilder.Entity<Category>(e =>
{
    e.HasKey(c => c.CategoryId);

    e.Property(c => c.DateCreated).ValueGeneratedOnAdd();
    e.Property(c => c.DateModified).ValueGeneratedOnAddOrUpdate();
});

受け入れられた回答

あなたのParentCategoryIdは、それがヌル可能であるという事実に基づいてすでにオプションです。それがヌル可能でないならば、それは必要であろう。さらに設定する必要はありません。

注意、あなたが設定する必要はありませんCategoryIdためのキーとしてCategory 。すでにエンティティキーの命名規則に従っているため、キーとして設定されます。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ