4

I've started using Entity Framework (database first), and I noticed that the methods the tt template generates for the context class (for stored procedures) have a return type ofObjectResult.

This type is IDisposable, but no sample code I can find actually calls the Dispose method. Is there a reason for this?

I currently don't have the "using" on the stored procedure call as I do further IEnumerable related stuff on the result (essentially just projecting the result set), but I could easily refactor that.

My question is, should I be using a pattern like the following if I have no reason to keep the connection to the database open:

using (var context = new DatabaseContext()) 
{
    using (var result = context.spMyStoredProcedure(param1, param2))
    {
        return result.ToList(); 
    }
}

I've seen some advice that even disposing the DbContext might not be needed, but there seems to be a lot of inconsistencies even on MSDN on what to do.

4

1 に答える 1