3 回答
TA贡献2003条经验 获得超2个赞
您仅从 Usuario
数据库中检索。如果您想获得任何其他信息,您需要使用Include
.
代替线var user = ctx.usuarios.ToList().Where(b => b.email == email);
你需要有var user = ctx.usuarios.Where(b => b.email == email).Include(usr => usr.alimento).ToList();
附言
我ToList()
作为最后一个操作移动,因为它评估表达式。现在它将在检索数据之前过滤表,而不是下载所有用户并在之后过滤。
TA贡献1777条经验 获得超10个赞
尝试使用此示例进行映射:
public class Usuario{
public int Id { get; set; }
public string email { get; set; }
[Required(ErrorMessage = "Se requiere de una denominacion")]
[StringLength(50, MinimumLength = 2)]
public string nombre { get; set; }
[ForeignKey("alimento")]
public int AlimentoId {get; set;}
public virtual Alimento alimento { get; set; }
}
public class Alimento{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int codAl { get; set; }
[Required(ErrorMessage = "Se requiere de una denominacion")]
[StringLength(50, MinimumLength = 2)]
public string Descripcion { get; set; }
public string Cantidad { get; set; }
[Required(ErrorMessage = "Calorias es imprescindible")]
[DataType(DataType.Currency)]
[Range(1, 999, ErrorMessage = "El rango debe estar entre 1 y 999")]
public int Calorias { get; set; }
public virtual ICollection<Usario> Users {get; set;}
}
应该使用上面的代码创建正确的一对多映射。像这样的东西应该从 Usario 表收到。
[{"id":1,"email":"mail","nombre":"nombre","AlimentoId":1}]
- 3 回答
- 0 关注
- 82 浏览
添加回答
举报