Мне нужно получить данные из моей базы данных с помощью веб-API. Ниже приведен код того, как я его реализую.
[HttpGet]
[Authorize]
[Route("api/getproperties")]
public async Task<List<Property>> GetProperties()
{
using(var db = new ApplicationDbContext())
{
var properties = await (from p in db.Properties
join pt in db.PropertyTypes
on p.PropertyTypeId equals pt.PropertyTypeId
select new
{
PropertyId = p.PropertyId,
PropertyName = p.PropertyName,
Owner = p.Owner,
Cluster = p.Cluster,
PropertyNumber = p.PropertyNumber,
RegionCode = p.RegionCode,
ProvinceCode = p.ProvinceCode,
MunicipalCode = p.MunicipalCode,
BarangayCode = p.BarangayCode,
DateAdded = p.DateAdded,
DateModified = p.DateModified,
PropertyTypeId = p.PropertyTypeId,
PropertyType = p.PropertyType,
Type = pt.Type
}
).ToList()
.Select(x => new Property
{
PropertyId = x.PropertyId,
PropertyName = x.PropertyName,
Owner = x.Owner,
Cluster = x.Cluster,
PropertyNumber = x.PropertyNumber,
RegionCode = x.RegionCode,
ProvinceCode = x.ProvinceCode,
MunicipalCode = x.MunicipalCode,
BarangayCode = x.BarangayCode,
DateAdded = x.DateAdded,
DateModified = x.DateModified,
PropertyTypeId = x.PropertyTypeId,
PropertyType = x.PropertyType,
Type = x.Type
}).ToListAsync();
return properties;
}
}
Если я не использую «async Task>» и удаляю «.ToListAsync ()» и «await» в начале, я не получаю ошибок. Но с этим функция больше не будет асинхронной. Можете ли вы показать мне, как это правильно? Спасибо.