Я использую WCF RIA в проекте Lightswitch для создания некоторых результатов запроса. Этот запрос возвращает все результаты независимо. Я не могу заставить его фильтровать записи на основе переданного параметра (string Town
).Почему этот запрос всегда возвращает ВСЕ записи?
public IQueryable<Enquiries> TestQuery(string Town)
{
List<Enquiries> riaenqs = new List<Enquiries>();
var enqs = this.Context.ClientEnquiries
.Include("Client")
.Include("Client.Town")
.OrderBy(enq => enq.Id);
if (Town != null)
{
enqs.Where(enq => enq.Client.Town.TownName == Town);
}
foreach (ClientEnquiry item in enqs.ToList())
{
Enquiries enq = new Enquiries();
enq.Id = item.Id;
enq.ClientName = item.Client.FirstName + " " + item.Client.Surname;
enq.Town = item.Client.Town != null ? item.Client.Town.TownName : null;
riaenqs.Add(enq);
}
return riaenqs.AsQueryable();
}
Во время отладки я могу видеть, что город правильно заселен, и я могу видеть, что запрос построен соответствующим образом, если Town
не null
. Однако, когда я нажимаю оператор foreach
, где выполняется запрос linq to ef, я всегда получаю все результаты. Я просто не могу понять, куда я ускользаю.
Там мы идем! Спасибо. – paulpitchford