Я не могу вернуть дочерние данные из второй таблицы, связанной с покупкой внешнего ключа с первой таблицей.
У меня есть следующие таблицы, которые были созданы с использованием подхода Entity Framework Core Code:
public class BoardGame
{
public int id { get; set; }
public double price { get; set; }
public List<BoardGameTitle> BoardGameTitle{get;set;}
}
public class BoardGameTitle
{
public int id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int languageId { get; set; }
public int BoardGameId{get;set;}
public BoardGame BoardGame{get;set;}
}
public class TableFlipDB :DbContext{
public TableFlipDB (DbContextOptions<TableFlipDB> options)
:base(options)
{}
public DbSet<BoardGame> BoardGame{get;set;}
public DbSet<BoardGameTitle> BoardGameTitle{get;set;}
protected override void OnModelCreating(ModelBuilder modelBuilder){
modelBuilder.Entity<BoardGame>().HasMany(bg=>bg.BoardGameTitle).WithOne(bg=>bg.BoardGame);
//modelBuilder.Entity<BoardGameTitle>().HasOne(BoardGameTitle=>BoardGameTitle.BoardGame).WithMany(BoardGameTitle=>BoardGameTitle.BoardGameTitle);
}
}
вторая таблица BoardGameTitle
содержит внешний ключ к следующей таблице BoardGame
через свойство BoardGameId
,
Когда я получаю список настольных игр, я не могу получить связанные данные из второй таблицы свойства BoardGameTitle
свойство возвращает ноль
мой контроллер
public ActionResult<List<BoardGame>> GetAll()
{
return TableFlipDB.BoardGame.ToList();
}
Ожидаемый результат:
[
{
"id": 1,
"price": 100,
"boardGameTitle": [
{
"id": 1,
"name": "b1",
"description": "b1",
"languageId": 1,
"boardGameId": 1,
"boardGame": {
"id": 1,
"price": 100,
"boardGameTitle": []
}
}
]
},
{
"id": 2,
"price": 200,
"boardGameTitle": [
{
"id": 2,
"name": "b2",
"description": "b2",
"languageId": 1,
"boardGameId": 2,
"boardGame": {
"id": 2,
"price": 200,
"boardGameTitle": [
{
"id": 3,
"name": "b22",
"description": "b22",
"languageId": 2,
"boardGameId": 2
}
]
}
},
{
"id": 3,
"name": "b22",
"description": "b22",
"languageId": 2,
"boardGameId": 2,
"boardGame": {
"id": 2,
"price": 200,
"boardGameTitle": [
{
"id": 2,
"name": "b2",
"description": "b2",
"languageId": 1,
"boardGameId": 2
}
]
}
}
]
}
]
Но результат, который я получил
[
{
"id": 1,
"price": 100,
"boardGameTitle": null
},
{
"id": 2,
"price": 200,
"boardGameTitle": null
}
]