Как установить Entity framework 4 CommandTimeout в строке подключения?

Можно ли указать commandTimeout в строке подключения в app.config?

В соответствии с этим вопросом SO: Entity Framework с MySQL - время ожидания истекло, пока Создание модели должно работать следующим образом:

  <add name="DataEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=XXXX;initial catalog=XXXXX2;persist security info=True;user id=XXXXX;password=XXXXX;multipleactiveresultsets=True;App=EntityFramework;Default Command Timeout=12;&quot;" providerName="System.Data.EntityClient" />

Однако это не работает - выдается исключение о том, что Default Command Timeout не является известной частью строки подключения.

Если я делаю это непосредственно в коде, используя следующий код, он работает нормально:

        var db = new DataEntities(); // ObjectContext
        db.CommandTimeout = 1;

Кто-нибудь знает, как установить commandTimeout, используя строку подключения или другой собственный параметр в конфигурации?

Спасибо.


person Ondrej Peterka    schedule 13.06.2013    source источник
comment
Возможно, стоит добавить тег MySQL к вопросу, поскольку это похоже на функцию, специфичную для MySQL?   -  person qujck    schedule 13.06.2013
comment
Нет, базовой БД является MS SQL 2008 R2.   -  person Ondrej Peterka    schedule 13.06.2013
comment
А, это многое проясняет. Ссылка в вашем сообщении относится к MySQL.   -  person qujck    schedule 14.06.2013
comment
Спасибо @qujck. Я как-то пропустил это (даже если это прямо в заголовке!). Так что я думаю, что для SQL-сервера нет пути, и это позор. Пожалуйста, скорректируйте свой ответ, чтобы я мог отметить его как правильный ответ.   -  person Ondrej Peterka    schedule 14.06.2013


Ответы (1)


Я не верю, что можно установить время ожидания команды в строке подключения.

Команда — это другой объект соединения. Команда может иметь соединение, но у нее есть собственное время ожидания, которое вы можете установить.

Ваша примерная ссылка выше относится к MySQL...

См. здесь

person qujck    schedule 13.06.2013
comment
Спасибо за совет. К сожалению, это не Command и не Connect Timeout. Все то же исключение. Вы, вероятно, имели в виду Connection Timeout=60;. Однако этот deasl с тайм-аутом соединения не указывает, как долго запрос должен ждать завершения (что и должен делать CommandTimeout). - person Ondrej Peterka; 13.06.2013