Я занимаюсь разработкой Entity Framework с ASP.NET Core и создаю базу данных в SQL Express 2017 и API REST с использованием C #.
У меня есть две модели (Usuario и Alimento):моя модель Alimento:
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; }
}
, и это моя модель Usuario:
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; }
public Alimento alimento { get; set; }
}
Когда я переносу решение и обновляю базу данных, я вижу атрибут "alimento" в USUARIOтаблица типа "alimentocodAl".
Я пытаюсь смоделировать "Еда (ALIMENTO) была съедена пользователем (USUARIO)" У меня есть контроллер, который я получаю все записи от конкретного пользователя, но когда я использую API, мойключ foreing в таблице USUARIO (ключ foreu Usuario для Alimento от codAl) показывает нулевые значения, например:
[{"id":1,"email":"mail","nombre":"nombre","alimento":null},
{"id":2,"email":"mail","nombre":"nombre","alimento":null},
{"id":3,"email":"mail","nombre":"nombre","alimento":null}]
Это неверно, так как у меня есть значения в этом столбце внутри моей таблицы.
Код, который выполняет контроллер:
public IEnumerable<Usuario> GetInfoUsuario(string email)
{
var user = ctx.usuarios.ToList().Where(b => b.email == email);
return user;
}
Что я не так?
это для REST APi, разработанного с ASP.NET и Entity Framework Core, работающим в Windows 7.