无法使用更新数据库MVC4

时间:2013-11-21 23:33:13

标签: c# asp.net-mvc entity-framework asp.net-mvc-4

我正在尝试将我的MVC4模型迁移到使用Code First EF 6的数据库。当我运行“update-database”命令时,我收到一条错误消息

  

为表'Conference'指定了多个标识列。每个表只允许一个标识列。

我查看了迁移文件,并尝试移动语句,以便他们不会尝试在一个表上添加2个标识列并获得此信息。

  

无法找到对象“dbo.foo”,因为它不存在或您没有权限。

所以我想我接下来会尝试删除所有迁移并重做整个过程当我尝试enable-migrations -contexttypename命令时我得到了这个

  

使用数据库初始化程序

创建的检测到的数据库

当我查看初始迁移时,它看起来像我在获得项目的其他部分之前最初使用的迁移,缺少几个模型。然后,当我添加一个迁移时,我的问题从这篇文章的开头重复。

我已经用尽了所有关于MVC4的知识,而且我的老师并没有表现出很大的兴趣来帮助解决这个问题。有人可以提供一些见解吗?

这是模型

public class Conference
{
    [Key]
    public int conferenceID { get; set; }
    public string username { get; set; }
    public string Title { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
    public string Topic { get; set; }
    public virtual ICollection<Sponsor> Sponsors{ get; set; }
    public string Description { get; set; }
    public int Rating { get; set; }
    public string Location { get; set; }
    public bool Active { get; set; }
    public virtual ICollection<Session> Sessions { get; set; }
}

我删除了所有的html和验证元标记,以便于阅读

2 个答案:

答案 0 :(得分:0)

您可能在DbContext类中有不同的配置,或者在DbContext类的OnModelCreating方法中有一个EntityTypeConfiguration类。

答案 1 :(得分:0)

这可能只是因为你玩过PK。

试试这个:Same issue but on EF5