Я вытаскиваю вычисленный набор данных в приложении ASP.NET MVC3, которое использует JQuery для получения данных для бесконечных прокрутки подкачки через вызов $ ajax. Бэкэнд - это база данных Azure SQL. Вот код:LINQ, пропустить и принять против Azure SQL Databse не работает
[Authorize]
[OutputCache(Duration=0,NoStore=true)]
public PartialViewResult Search(int page = 1)
{
int batch = 10;
int fromRecord = 1;
int toRecord = batch;
if (page != 1)
{
//note these are correctly passed and set
toRecord = (batch * page);
fromRecord = (toRecord - (batch - 1));
}
IQueryable<TheTable> query;
query = context.TheTable.Where(m => m.Username==HttpContext.User.Identity.Name)
.OrderByDescending(d => d.CreatedOn)
.Skip(fromRecord).Take(toRecord);
//this should always be the batch size (10)
//but seems to concatenate the previous results ???
int count = query.ToList().Count();
//results
//call #1, count = 10
//call #2, count = 20
//call #3, count = 30
//etc...
PartialViewResult newPartialView = PartialView("Dashboard/_DataList", query.ToList());
return newPartialView;
}
Данные, возвращаемые из каждого вызова от Jquery $ AJAX продолжает расти на каждом последующем вызове, а затем возвращаются только 10 записей за звонок. Таким образом, результат возвращает все предыдущие данные о вызовах. Кроме того, я добавил 'cache = false' для вызова $ ajax. Любые идеи о том, что здесь происходит не так?
Спасибо Ричард! Я ценю вашу помощь. –