int 일 때 항상 모든 레코드를 반환하는 것으로 보이는 다음 lamba 쿼리가 있습니까? 상태 매개 변수가 null이 아니며 유효합니다. 누군가 Enum 필터가 존중받지 못하는 이유는 무엇입니까? 읽어 주셔서 감사합니다.람다 Enum에 의한 쿼리 필터
public ActionResult GetArrivals(int facilityId, int? status)
{
var registrationList = db.Registrations
.Where(f => f.Facility.Id == facilityId)
.Where(a => a.ArrivalDateTime >= DateTime.Today)
.OrderBy(ln => ln.User.LastName)
.OrderBy(fn => fn.User.FirstName);
if (status.HasValue)
{
UrgentCareWaitWeb.Models.RegistrationStatus statusValue;
if (Enum.TryParse(status.Value.ToString(), out statusValue) == true)
{
registrationList
.Where(s => s.Status == statusValue);
}
}
// Project query to view
var pview = registrationList.Select(r => new PatientRegistrationsView()
{
ArrivalId = r.Id,
UserId = r.User.UserId,
UserName = r.User.UserName,
FirstName = r.User.FirstName,
LastName = r.User.LastName,
PrimaryPhone = r.User.PrimaryPhone,
SecondaryPhone = r.User.SecondaryPhone,
ArrivalDateTime = r.ArrivalDateTime,
PatientDataformId = r.PatientDataformId,
RegistrationStatus = r.Status,
});
//if (Request.IsAjaxRequest())
// return PartialView("_PatientRegistrations", model);
return View(pview);
}
응답에 많은 감사를드립니다. 내가 게시 한 코드로 그 코드를 대체했지만 컴파일되지 않습니다. 'System.Linq.IQueryable'형식을 'System.Linq.IOrderedQueryable '형식으로 암시 적으로 변환 할 수 없습니다. 명시 적 변환이 존재합니다 (캐스트가 누락 되었습니까?) –
ChiliYago
Ah - 업데이트 된 답변입니다. – eouw0o83hf
아마 작동하지만 다른 게시물에서 "var"선언을 명시 적 IQueryable registrationList로 바꾸고 코드를 적용하면 문제가 없습니다. 정말 고맙습니다! –
ChiliYago