Я пытаюсь вернуть список объектов, но включаю только подмножество одного свойства этого объекта.
Контроллер
[ServiceFilter(typeof(LogUserActivity))]
public class CabinsController : Controller
{
private readonly IBaseRepository _repo;
public CabinsController(IBaseRepository repo)
{
_repo = repo;
}
public IActionResult GetCabins()
{
return Ok(_repo.GetCabins());
// upon completing the action, the LogUserActivity
// filter saves changes to the database.
}
}
Репозиторий
public List<Cabin> GetCabins()
{
// retrieve list of all cabins
var cabins = _context.Cabins.ToList();
// only show current occupants of the cabins
foreach (var cabin in cabins) {
cabin.occupants =
cabin.occupants.Where(o =>
o.StartDate <= DateTime.UtcNow &&
o.EndDate >= DateTime.UtcNow).ToList();
}
return cabins;
}
Однако это меняет _context
и базу данных, к которой он подключен. Он удаляет все occupants
, которые не являются текущими.
Как я могу получить подмножество свойства объекта без изменения источника данных?