Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用更新数据库MVC4_C#_Asp.net Mvc_Entity Framework_Asp.net Mvc 4 - Fatal编程技术网

C# 无法使用更新数据库MVC4

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命令时,放弃所有迁移,重新执行整个过程 检测到使

我正在尝试将我的MVC4模型迁移到一个使用代码优先EF 6的数据库中。当我运行“更新数据库”命令时,会收到一条错误消息

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

我查看了迁移文件,并尝试移动语句,这样它们就不会试图在一个表中添加两个标识列,因此得到了这个结果

找不到对象“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; }
}
公开课会议
{
[关键]
公共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]集合或其他名称