在这种情况下,我有一个名为Category的模型,该模型与另一个名为Question的模型具有一对一关系。以下是两个模型的代码:
类别:
public class Category
{
[Key]
[Required]
public int Id { get; set; }
[Required]
public int QuestionRef { get; set; }
[Required]
public string Name { get; set; }
[Required]
public DateTime Timestamp { get; set; }
public virtual Question Question { get; set; }
}
问题:
public class Question
{
[Required]
[Key]
public int Id { get; set; }
[Required]
public int CategoryRef { get; set; }
[Required]
public int QuestionLevel { get; set; }
[Required]
public string QuestionText { get; set; }
[Required]
public DateTime Timestamp { get; set; }
public virtual Category Category { get; set; }
}
OnModelCreating中的代码段
modelBuilder.Entity<Category>().HasOne(x => x.Question).WithOne(x => x.Category).HasForeignKey<Question>(x => x.CategoryRef);
modelBuilder.Entity<Question>().HasOne(x => x.Category).WithOne(x => x.Question).HasForeignKey<Category>(x => x.QuestionRef);
我似乎遇到了一个我无法理解如何解决的问题。基本上,我不知道如何将这种关系插入数据库(SQL Server)。
问题是我是否必须在存储库中隐式编写
NewCategory.Question = QuestionInput;
还是给定我在OnModelCreating中暗示的关系,它会自动生成自身吗?