C# 无法使用更新数据库MVC4
我正在尝试将我的MVC4模型迁移到一个使用代码优先EF 6的数据库中。当我运行“更新数据库”命令时,会收到一条错误消息 为表“Conference”指定了多个标识列。每个表只允许有一个标识列 我查看了迁移文件,并尝试移动语句,这样它们就不会试图在一个表中添加两个标识列,因此得到了这个结果 找不到对象“dbo.foo”,因为它不存在或您没有权限 因此,我想我下一步要做的是,当我尝试执行C# 无法使用更新数据库MVC4,c#,asp.net-mvc,entity-framework,asp.net-mvc-4,C#,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,我正在尝试将我的MVC4模型迁移到一个使用代码优先EF 6的数据库中。当我运行“更新数据库”命令时,会收到一条错误消息 为表“Conference”指定了多个标识列。每个表只允许有一个标识列 我查看了迁移文件,并尝试移动语句,这样它们就不会试图在一个表中添加两个标识列,因此得到了这个结果 找不到对象“dbo.foo”,因为它不存在或您没有权限 因此,我想我下一步要做的是,当我尝试执行enable migrations-contexttypename命令时,放弃所有迁移,重新执行整个过程 检测到使
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; }
}
公开课会议
{
[关键]
公共int conferenceID{get;set;}
公共字符串用户名{get;set;}
公共字符串标题{get;set;}
公共日期时间起始日期{get;set;}
公共日期时间结束日期{get;set;}
公共字符串主题{get;set;}
公共虚拟ICollection赞助商{get;set;}
公共字符串说明{get;set;}
公共整数评级{get;set;}
公共字符串位置{get;set;}
公共bool活动{get;set;}
公共虚拟ICollection会话{get;set;}
}
我删除了所有html和验证元标记以使其更易于阅读。可能您在DbContext类中有不同的配置,或者在DbContext类的OnModelCreating方法中有EntityTypeConfiguration类。这可能只是因为您使用了PK
试试这个:这不是MVC问题,这是实体框架问题。给我们看看你的模型?您可能有多个[primarykey]集合或其他名称