向具有虚拟关系的数据库添加模型

时间:2019-04-07 08:27:30

标签: c# .net asp.net-mvc entity-framework

在这种情况下,我有一个名为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中暗示的关系,它会自动生成自身吗?

0 个答案:

没有答案