Другая альтернатива двум ответам, представленным выше. Если вы измените свой тип возврата на object
, вы можете вернуть null
, а в то же время включить ненулевой возврат.
static object FindThing<T>(IList collection, int id)
{
foreach T thing in collecion
{
if (thing.Id == id)
return (T) thing;
}
return null; // allowed now
}
При использовании Studio управления SQL существует две настройки в опциях (я отсылаю к Studio управления от SQL Server 2005, который я использую):
(мой Studio управления находится на немецком языке, таким образом, я надеюсь, что перевел имена правильно на английский язык),
Можно найти обоих в меню под "Отдельно оплачиваемыми предметами"-> "Опции"
В опциях первая является объектом "Выполнения запросов", можно установить "Тайм-аут Выполнения" там (мой уже был на нуле),
Второй (и я думаю, что это - то, в чем Вы нуждаетесь), первая опция при "Разработчике", это говорит что-то как "Тайм-аут переопределения для обновлений разработчика таблицы", можно установить флажок и вставить значение там.
Некоторое время назад у меня была проблема, подобная Вашему (сообщение тайм-аута при выполнении ALTER TABLE на большой таблице), и я решил его путем установки этой опции на более высокое значение.
Неважно я могу выполнить его прекрасный с Studio управления SQL.
SQL Server будет ожидать неограниченно долго прежде, чем возвратиться к пользователю. Более, чем вероятный был клиентский набор свойств тайм-аута. Например, можно установить свойство тайм-аута для объекта команды ADO.
С наилучшими пожеланиями, Andy.