Я использую 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
. Он будет настроен как ключ, поскольку он уже следует за соглашением именования для ключа сущности.