【发布时间】:2018-02-16 15:33:36
【问题描述】:
我已经查看了有关此主题的所有类似问题,但似乎没有一个对我有用。当我尝试运行这两个命令时,我不知道为什么会出现以下错误:add-migration,然后是update-database。
无法将值 NULL 插入表的“StudentId”列 'aspnet-JavaWebsiteProject-20171006053028.dbo.Groups';列不 允许空值。更新失败。该语句已终止。
我正在使用Entity Framework v6.2.0。我在下面有三个简单的模型:
public class Student
{
public int Id { get; set; }
public string UserId { get; set; }
[EmailAddress]
public string Email { get; set; }
}
教师模型:
public class Teacher
{
public int Id { get; set; }
public string UserId { get; set; }
[EmailAddress]
public string Email { get; set; }
}
//组模型:
public class Group
{
public int Id { get; set; }
[Required]
public int StudentId { get; set; }
public Student Student { get; set; }
[Required]
public int TeacherId { get; set; }
public Teacher Teacher { get; set; }
}
谁能指导我可能做错了什么或如何解决此错误?
谢谢
【问题讨论】:
-
是初始迁移还是您的数据库中已有表?
-
这是初始迁移 - 第一次迁移
-
尝试转储数据库并运行:Add-Migration InitialCreate –IgnoreChanges
-
我已经有一段时间没有使用迁移了,所以我忘记了确切的机制,但是您的迁移是否在数据库中创建了初始种子数据?如果是这样,是否为 Groups 表完全定义了该数据?
-
@StefanW。如果我在尝试更改现有列的数据类型时遇到此错误,您知道问题可能是什么吗?
标签: c# visual-studio entity-framework-6