У меня есть метод расширения, который мне очень помог мне дать ... он выполняет orderby на IQueryable. .. но я хотел, чтобы один выполнял обычный IQueryable (не общий)
Вот код, счетчик, пропуск и, я думаю, Take отсутствуют.
public static IQueryable GetPage(this IQueryable query,
int page, int pageSize, out int count)
{
int skip = (int)((page - 1) * pageSize);
count = query.Count(); //COUNT DOESN'T EXIST
return query.Skip(skip).Take((int)pageSize); // NEITHER SKIP
}
Вот и он отлично работает без ошибок.
public static IQueryable<T> GetPage<T>(this IQueryable<T> query,
int page, int pageSize, out int count)
{
int skip = (int)((page - 1) * pageSize);
count = query.Count();
return query.Skip(skip).Take((int)pageSize);
}
Есть идеи, как я могу это обойти? Я не хочу менять свои возвращаемые типы, так как он работает отлично, и у меня есть другой метод расширения, называемый ToDataTable, и он также работает с необщим IQueryable ..
Есть ли обходной путь?
Заранее спасибо
РЕДАКТИРОВАТЬ
Я называю это так в существующем IQueryable
IQueryable<Client> gen = null;
IQueryable nongen = null;
var test = gen.GetPage(); //COMPILES!
var test 1 = non.GetPage(); // Doesn't compile because GETPAGE
// for non generic is broken as it has
// invalid methods like COUNT and SKIP etc.
. Я попытался удалить неуниверсальную версию GetPage, но затем мой не общий IQueryable не сделал этого. Для бизнес-требований это необходимо сделать с помощью KeyPress, чтобы символу просто не разрешалось даже появляться в ...
Проблема:
Это отправная точка моего кода ...
var keyCode = (e.keyCode ? e.keyCode : e.which);
Однако каждое значение, которое я получаю в keyCode не соответствует ни одной диаграмм символов, которые я видел в Интернете. Например, символ «h» дает мне код возврата 104.
Отличается ли KeyCode от CharCode? Какой код содержит управляющие символы? Мне нужно преобразовать?
Как я могу ограничить ввод до az AZ и разрешить ключи, которые мне нужны в JavaScript?