У меня есть такой сценарий, где у меня есть модель с именем 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?