Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

best practice for avoid connection timeout when using LINQ to SQL

i need to know best practice for avoid connection timeout when using LINQ to SQL in .net applications specially when returning IQueryable<T>from data access tiers or layers.

I get "Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached." error when testing my asp.net application for webstress tests ?

like image 872
DSharper Avatar asked Oct 29 '10 04:10

DSharper


People also ask

How do I fix SQL Server connection timeout?

If you encounter a connection-timeout error, follow the steps: Increase the connection-timeout parameter. If you use an application to connect to SQL Server, increase the relevant connection-timeout parameter values and check whether the connection eventually succeeds.

Is LINQ to SQL obsolete?

LINQ to SQL was the first object-relational mapping technology released by Microsoft. It works well in basic scenarios and continues to be supported in Visual Studio, but it's no longer under active development.

Which is faster SQL or LINQ?

Stored procedures are faster as compared to LINQ query since they have a predictable execution plan and can take the full advantage of SQL features. Hence, when a stored procedure is being executed next time, the database used the cached execution plan to execute that stored procedure.


2 Answers

http://www.geekscrapbook.com/2010/08/13/connection-timeout-using-linq-datacontext/

Link will explain you what will be the reason of Timeouut using LINQ to SQl.You can manually increase the query execution time.By default its 30 sec. According to Visual studio 2008 Go to

Tools->Database Tools->Query & view design

Here you will get the option to increase the execution time. Hope it helps you.

Good Luck

like image 84
PrateekSaluja Avatar answered Sep 28 '22 18:09

PrateekSaluja


You need to increase the CommandTimeout property value in your DataContext object (the default value is 30 seconds), it is measured in seconds, for example:

var myDataContext = new MyDbDataContext(myConnectionString) { CommandTimeout = 120 }; var rows = myDataContext.sp_Agent__Select(agentId);

like image 45
Mohammed A. Fadil Avatar answered Sep 28 '22 18:09

Mohammed A. Fadil