^[A-Z]{0,2}[0-9]{1,6}[A-Z]{1}?$
Должно сработать, причина, по которой вы могли печатать 3 буквы, состоит в том, что второй группе было разрешено иметь размер 0-6, а затем, когда вы вводите 3 буквы, она соответствует первой 2-буквенной группе, числовая группа с 0 длина матча и, наконец, последняя Альфа. изменяя его на 1-6, вы вводите от 1 до 6 чисел.
Вероятно, вы используете CommandTimeout , установленный в вашем DataContext. По умолчанию это 30 секунд.
Все, что вам нужно сделать, это установить свойство в DataContext перед выполнением запроса.
Вероятно, это происходит из-за того, что тайм-аут по умолчанию составляет 30 секунд. Вы можете изменить это, установив атрибут Timeout в строке подключения. Альтернативно вы можете установить это в DataContext .
Вот статья по проекту кода об этом.
увеличить таймаут = ПЛОХО
исправить запрос = ХОРОШО
Я не уверен во всех деталях, но в целом применимо следующее:
, когда запрос выполняется медленно, выполните следующие действия в Management Studio:
«Сканировать» = коснуться каждой строки (таблицы или индекса). Хотели бы вы «сканировать» телефонную книгу в поисках одного номера или использовать индекс?