entity-framework - Assp.net Core exeption('无效的列名'ClassRoomClassId')
问题描述
我对 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”的列!
会有什么问题?
解决方案
尝试更改[ForeignKey("ClassId")]
为[ForeignKey("ClassRoom")]
或将其放置在ClassRoom
属性上:
public class Student
{
...
public int? ClassId { get; set; }
[ForeignKey("ClassId")]
public ClassRoom ClassRoom { get; set; }
}
推荐阅读
- mysql - 查找每月缺失的数据
- css - 如何实现通过CSS点击一个元素后,不会受到hover的影响?
- c# - 如何在具有许多系列和数据点的项目中优化 AnnotatinPositionChanging 功能
- reactjs - 如何使用 React.cloneElement 向子组件添加属性?
- r - 使用 Graph API 将数据框写入 Microsoft Teams 中存储的 Excel 文件
- javascript - 语义 ui 复选框中的“全选/取消全选”
- docusignapi - DocuSign - 如何获取信封自定义字段
- html - 如何移动用户名部分下方的句子?
- java - 如何使用 selenium 在没有 crx 文件的情况下自动解压 chrome 扩展
- python - 如何从python中的api从对象中提取信息