Как я могу использовать Async Task? Или как запустить Async Way < /p>
Код: Выделить всё
// Db context
public class DeptContext : DbContext
{
public LagerContext(DbContextOptions options)
: base(options)
{
Database.Migrate();
}
public DbSet Departments { get; set; }
public DbSet
Products { get; set; }
}
Код: Выделить всё
Task GetDepartmentWithOrWithoutProducts(int deptId, bool includeProducts);
Код: Выделить всё
public class DepRepository : IDepRepository
{
private DeptContext db;
public DepRepository(DeptContext context)
{
db = context;
}
// I'am geting Department name with products or Without products
public async Task GetDepartmentWithOrWithoutProducts(int deptId, bool includeProducts)
{
if(includeProductss)
{
return await db.Departments.Include(c => c.Products).Where(s => s.deptId == deptId).SingleAsync();
}
return await db.Departments.Where(s => s.deptId == deptId).SingleAsync();
}
}
< /code>
Итак, как мне сделать сейчас в моем контроллере, чтобы сделать это как асинхронный способ: я пытался следующим образом, но я не знаю, правильно ли это делать:
Я не получаю ошибки, но я не знаю, если это правильно ... < /p>
using System.Threading.Tasks;
using System.Net;
using Microsoft.Data.Entity;
using Microsoft.EntityFrameworkCore;
[Route("api/departments")]
public class DepartmentsController : Controller
{
private IDeptRepository _deptInfoRepository;
public DepartmentsController(IDeptRepository deptInfoRepository)
{
_deptInfoRepository = deptInfoRepository;
}
[HttpGet("{id}")]
public async Task GetDepatment(int id, bool includeProducts = false)
{
var dept = _deptInfoRepository.GetDepartmentWithOrWithoutProducts(id, includeComputers);
if(dept == null)
{
return BadRequest();
}
if(includeProducts)
{
var depResult = new DepartmentDto() { deptId = dept.deptId, deptName = dept.deptName };
foreach(var department in dept.Products)
{
depResult.Products.Add(new ProductDto() { productId = department.productId, deptId = department.deptId, ProductName = department.ProductName });
}
return Ok(depResult);
}
var departmentWithoutProductResult = new DepartmentsWithoutProductsDto() { DeptId = dept.deptId, DeptName = dept.DeptName};
return Ok(departmentWithoutProductResult);
}
Подробнее здесь: https://stackoverflow.com/questions/448 ... -my-asp-ne
Мобильная версия