Если вы используете EFCore
, вы можете сделать это.
- Создать ApiController
- Ввести свой
DbContext
из Constructor
- Чтение данных из
DB
- Возвращаемые данные
[Route("api/[controller]")]
[ApiController]
public class PostController : BaseController
{
private readonly ApplicationDbContext _dbContext;//Your DbContext
public PostController(ApplicationDbContext dbContext)
{
_dbContext = dbContext;
}
[HttpGet]
public IActionResult Get()
{
var data = _dbContext.Post.Include(a=> a.Comments).Include(a=> a.Images).ToList();
return Ok(data);
}
}
В . Net Ядро Lazy loading
отключено, и при выборе таблицы из отношение базы данных none загружено по умолчанию.
Если вы хотите получить все данные с отношениями, вы должны использовать Include
для загрузки таких отношений
dbContext.Post.Include(a=> a.Comments).Include(a=> a.Images).ToList();
ваши таблицы базы данных должны быть такими
public class Post
{
public ICollection<Images> Images { get; set; }
public ICollection<Comments> Comments { get; set; }
}
public class Comments
{
public Post Post { get; set; }
}
public class Images
{
public Post Post { get; set; }
}