ASP.NET MVC System.Data.Entity.Core.EntityCommandExecutionException

时间:2016-05-24 11:27:08

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

我在Asp.net MVC中遇到问题,我已经尝试了几个建议并查看Stack Overflow没有运气。

以下是代码和详细信息:

例外:

  

类型的例外   发生'System.Data.Entity.Core.EntityCommandExecutionException'   EntityFramework.SqlServer.dll但未在用户代码中处理

代码:

控制器出现异常的地方:

    namespace DataCrowds.Controllers
{
    public class MarketplaceController : Controller
    {
        private ApplicationDbContext db = new ApplicationDbContext();

        // GET: Marketplace
        public ActionResult Index()
        { 
            return View();
        }

        public PartialViewResult _SearchDataSets(string keyword)
        {
            System.Threading.Thread.Sleep(2000);
            var data = db.DataSets.Where(f =>
            f.title.Contains(keyword)).ToList();
            return PartialView(data);
        }
    }
}

内部例外:

  

类= 16          错误码= -2146232060          的HResult = -2146232060          LineNumber上= 5          消息=无效的列名称'ApplicationUser_Id'。

More Details (Image Screenshot)

代码第一模型:

namespace DataCrowds.Models 
{ 
    public class DataSet 
    { 
        public int Id { get; set; } 
        public string title { get; set; } 
        public string description { get; set; } 
        [NotMapped] 
        public HttpPostedFileBase file { get; set; } 
    } 
}

是的,我尝试过migrationupdate-database。 THX!

3 个答案:

答案 0 :(得分:0)

更新您的数据库以匹配您的Entity Framework模型。这将解决此错误。

答案 1 :(得分:0)

我想就这个问题提供一些更新。

正如@Christiaan Molendijk在评论中所说,解决方案适合我。

  

抱歉,已经给出了一个不是真正问题的答案。 OKE   所以有时会有所有包含数据的现成表。因为它   已有数据,无法更改表格。然后它没有执行   迁移。解决此问题的最简单方法是删除表格   执行迁移。但是你的数据会丢失。有   其他方式,你可以在这里阅读:   msdn.microsoft.com/en-us/data/dn579398.aspx - Christiaan Molendijk 3   分钟前

删除表后重新运行迁移已全部修复!

THX!

答案 2 :(得分:0)

尝试删除相应的表并重新运行迁移