首页 > 解决方案 > 实体类型不是当前上下文模型的一部分(C# - ASP.NET MVC)

问题描述

我正在使用 Entity Framework 为我的应用程序生成我的数据库模型,现在我正在尝试将一些数据提交到我的数据库中,但出现以下错误:

实体类型 SEC_USER 不是当前上下文模型的一部分。

我读过很多书,有时会显示此错误,因为连接字符串错误,但我知道我的连接字符串很好,因为我的应用程序中显示的第一个视图从数据库中带来了大量数据并且它运​​行良好。

向我抛出错误的代码如下,特别是该行db.SEC_USER.Add(user);

public ActionResult LogIn(Login log)
{
    bool enter = _2Secure.Common.Data.Access.ldap.SignIn(log.Username, log.Password);
    ViewBag.entra = enter;

    if (enter)
    {
        SEC_USER user = new SEC_USER();
        user.name = "Yesid Bejarano";
        user.isAdmin = 1;

        db.SEC_USER.Add(user);
        db.SaveChanges();

        return View("~/Views/Home/_GridViewPartial.cshtml");
    }
    else
        return View("~/Views/Login/LogIn.cshtml");
}

DbContext有这个结构:

using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;

public partial class VASARODEVEnti : DbContext
{
    public VASARODEVEnti()
        : base("name=VASARODEVEnti")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<SEC_USER>().ToTable("SEC_USER");
    }

    public virtual DbSet<SEC_ACTION> SEC_ACTION { get; set; }
    public virtual DbSet<SEC_ROL> SEC_ROL { get; set; }
    public virtual DbSet<SEC_USER> SEC_USER { get; set; }
    public virtual DbSet<VAS_CATEGORY> VAS_CATEGORY { get; set; }
    public virtual DbSet<VAS_PROYECT> VAS_PROYECT { get; set; }
    public virtual DbSet<VAS_PROYECT_VULNERABILITY> VAS_PROYECT_VULNERABILITY { get; set; }
    public virtual DbSet<VAS_PROYECT_VULNERABILITY_IP> VAS_PROYECT_VULNERABILITY_IP { get; set; }
    public virtual DbSet<VAS_PROYECT_VULNERABILITY_IP_PORT> VAS_PROYECT_VULNERABILITY_IP_PORT { get; set; }
    public virtual DbSet<VAS_PROYECT_VULNERABILITY_IP_URLS> VAS_PROYECT_VULNERABILITY_IP_URLS { get; set; }
    public virtual DbSet<VAS_VULNERABILITY> VAS_VULNERABILITY { get; set; }
    public virtual DbSet<VAS_VULNERABILITY_ENG> VAS_VULNERABILITY_ENG { get; set; }
    public virtual DbSet<VAS_VULNERABILITY_PARENT> VAS_VULNERABILITY_PARENT { get; set; }
    public virtual DbSet<VAS_VULNERABILITY_VULNERABILITY_PARENT> VAS_VULNERABILITY_VULNERABILITY_PARENT { get; set; }
}

我只是不知道还有什么可能导致错误。

标签: c#asp.net-mvcentity-framework

解决方案


解决了:

数据库和实体中表的列不同。我用正确的列重新创建模型,现在正在工作。


推荐阅读