我创建了一个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;
}
答案 0 :(得分:0)
您应直接更新实体categoria
:
_context.Update(categoria);
EF Core将自动跟踪与原始值相比更新后的属性,并在调用SaveChanges
函数时更新数据库中的新值。