C# EF代码中的多-多关系首先使用不同的PK类型
我有两个实体C# EF代码中的多-多关系首先使用不同的PK类型,c#,ef-code-first,entity-framework-6,entity-framework-migrations,C#,Ef Code First,Entity Framework 6,Entity Framework Migrations,我有两个实体Course和Group,它们之间有很多相关。我使用的是代码优先迁移。当i更新数据库-v时,它会引发异常 我知道许多关系创建了另一个表GroupCourses StackTrace:ALTER TABLE[dbo].[GroupCourses]ALTER COLUMN[Course\u CourseId][int]不为空 异常:操作数类型冲突:uniqueidentifier与int不兼容 public class Course { [Key]
Course
和Group
,它们之间有很多相关。我使用的是代码优先迁移。当i更新数据库-v
时,它会引发异常
我知道许多关系创建了另一个表GroupCourses
StackTrace:ALTER TABLE[dbo].[GroupCourses]ALTER COLUMN[Course\u CourseId][int]不为空
异常:操作数类型冲突:uniqueidentifier与int不兼容
public class Course
{
[Key]
public int CourseId { get; set; }
public virtual ICollection<Group> Groups { get; set; }
}
public class Group
{
[Key]
public Guid groupId { get; set; }
public virtual ICollection<Course> Courses{ get; set; }
}
公共课
{
[关键]
public int CourseId{get;set;}
公共虚拟ICollection组{get;set;}
}
公共课组
{
[关键]
公共Guid groupId{get;set;}
公共虚拟ICollection课程{get;set;}
}
我认为这是由于两个实体的PK类型不同。我说得对吗?如果是,是否有任何解决方案来克服这一问题
提前谢谢。谢谢你
当您尝试更新时,我假设PK CourseId从Guid变为int,这就是问题的原因(不是因为PKs在关联表中是不同的类型,这很好)
要么放下表格,要么手动更改类型。
当您尝试更新时,我假设PK CourseId从Guid变为int,这就是问题的原因(不是因为PKs在关联表中是不同的类型,这很好)
删除表格或手动更改类型。当我尝试从模型生成数据库时,出现异常。在powershell上运行命令updatedatabase-v
以创建数据库时。然后我得到了一个例外,我把所有的桌子都掉了。使用最新型号创建新的迁移
,并运行命令更新数据库-v
。仍然是相同的错误。当我尝试从模型
生成数据库时,出现异常。在powershell上运行命令updatedatabase-v
以创建数据库时。然后我得到了一个例外,我把所有的桌子都掉了。使用最新型号创建新的迁移
,并运行命令更新数据库-v
。还是一样的错误。