1

我对 ASP.NET Core 脚手架有疑问。我刚刚在一个简单的关系模型上应用了脚手架,我得到了这个 SqlException。

Microsoft.Data.SqlClient.SqlException: 'Invalid column name 'ClassRoomClassId'.'

所有我有两个模型

课堂

public class ClassRoom
{
    [Key]
    public int ClassId { get; set; }
    public string ClassName { get; set; }
    public virtual ICollection<Student> Student { get; set; }
}

学生

public class Student
{
    [Key]
    public int StuId { get; set; }
    public string StuName { get; set; }
    [ForeignKey("ClassId")]
    public int? ClassId { get; set; }
    public ClassRoom ClassRoom { get; set; }
}

执行Students/Index时出现异常。

// GET: Students
public IActionResult Index()
{
    return View(_context.Student.ToList());
}

我没有名为“ClassRoomClassId”的列!
会有什么问题?

4

1 回答 1

1

尝试更改[ForeignKey("ClassId")][ForeignKey("ClassRoom")]或将其放置在ClassRoom属性上:

public class Student
{
    ...
    public int? ClassId { get; set; }
    [ForeignKey("ClassId")]
    public ClassRoom ClassRoom { get; set; }
}
于 2020-06-29T10:11:36.573 回答