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
。还是一样的错误。