找不到实体类型“布尔”。确保已将实体类型添加到模型中

时间:2019-12-04 14:54:40

标签: asp.net-mvc asp.net-core

我创建了一个Web应用程序,该应用程序具有名为“ TCategoria”的模型。该模型的参数称为“ Estado”。

问题是: 我创建了一个尝试更新数据库中的“ Estado”,但出现此错误: 找不到实体类型“布尔”。确保已将实体类型添加到模型中。 我不明白此错误,因为我的参数“ Estado”是布尔值。

型号:

public class TCategoria
{
    [Key]
    public int CategoriaID { get; set; }
    [Required(ErrorMessage = "El campo nombre es obligatorio.")]

    public string Nombre { get; set; }
    [Required(ErrorMessage = "El campo descripcion es obligatorio.")]

    public string Descripcion { get; set; }

    public bool Estado { get; set; } = true;

    public ICollection<TCursos> Cursos { get; set; }
}

方法,尝试

internal IdentityError UpdateEstado(int id)
    {
        IdentityError identityError;
        try
        {
            var categoria = _context._TCategoria.Where(c => c.CategoriaID.Equals(id)).ToList().ElementAt(0);
            categoria.Estado = categoria.Estado ? false : true;
            _context.Update(categoria.Estado);
            _context.SaveChanges();
            identityError = new IdentityError { Description = "Done" };
        }
        catch (Exception e)
        {
            identityError = new IdentityError
            {
                Code = "Error",
                Description = e.Message
            };
        }
        return identityError;
    }

Error Image

1 个答案:

答案 0 :(得分:0)

您应直接更新实体categoria

_context.Update(categoria);

EF Core将自动跟踪与原始值相比更新后的属性,并在调用SaveChanges函数时更新数据库中的新值。