KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to establish how much slower Entity Framework is over Stored Procedures. I hope to convince my boss to let us use Entity Framework for ease of development. Problem is I ran a performance test and it looks like EF is about 7 times slower than Stored Procs. I find this extremely hard to believe, and I'm wondering if I'm missing something. Is this a conclusive Test? Is there anything I can do to increase the performance of the EF Test? var queries = 10000; // Stored Proc Test Stopwatch spStopwatch = new Stopwatch(); spStopwatch.Start(); for (int i = 0; i < queries; i++ ) { using (var sqlConn = new SlxDbConnection().Connection) { var cmd = new SqlCommand("uspSearchPerformanceTest", sqlConn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@searchText", "gstrader"); sqlConn.Open(); SqlDataReader dr = cmd.ExecuteReader(); List<User> users = new List<User>(); while (dr.Read()) { users.Add(new User { IsAnonymous = Convert.ToBoolean(dr["IsAnonymous"]), LastActivityDate = Convert.ToDateTime(dr["LastActivityDate"]), LoweredUserName = dr["LoweredUserName"].ToString(), MobileAlias = dr["MobileAlias"].ToString(), UserId = new Guid(dr["UserId"].ToString()), UserName = (dr["UserName"]).ToString() }); } var username = users.First().UserName; sqlConn.Close(); } } spStopwatch.Stop(); Console.WriteLine("SP - {0} Queries took {1}", queries, spStopwatch.ElapsedMilliseconds ); // EF Test Stopwatch entityStopWatch = new S
Tags (comma-separated)
Save Edits
Cancel