Skip to main content

Running Entityframework profiler on OWIN hosted .NET Framework projects

When you get into DB level issues with your .NET framework application that is using Entity framework, you need to start to examine what is happening under the covers using tools like SQL profiler and/or Entity framework profiler. These can help you track issues and work out strategies to minimise or eliminate nasties like deadlocks.

One tool that worked well for me is the entity framework profiler. To utilise this, you need to initialise this with your application code then run the diagnostic tool to be able to capture the requests going into SQL.


I did have to do a bit of fiddling around as I could not get it to work out of the box with my current setup of an OWIN hosted project. I noticed the entity framework was being instantiated before the profiler and as a result threw the following exception at startup


The Entity Framework was already using a DbConfiguration instance before an attempt was made to add an 'Loaded' event handler. 'Loaded' event handlers can only be added as part of application start up before the Entity Framework is used. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information.

I had the following line of code in the Startup method like so which did NOT work

[assembly: OwinStartup(typeof(Startup))]
namespace MyApp
{
	public partial class Startup
	{
		public void Configuration(IAppBuilder app)
		{
			HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize();                        // other code
                }

To get around this, I had to change it as follows


[assembly: OwinStartup(typeof(Startup))]

// added line

[assembly: PreApplicationStartMethod(typeof(Startup), "Register")]

namespace MyApp

{

public partial class Startup

{

// added method

                public static void Register()

{

HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize();

}


public void Configuration(IAppBuilder app)

{

// other code here

                }




Comments

Popular posts from this blog

3 Benefits of getting into grassroots charities and volunteering

Volunteering at grass roots levels gives you a great satisfaction in that you know your small efforts has reached and helped someone in need. Whether it be, standing behind a counter selling some quick bites or just spending a few minutes with someone in need of company, there are so many life long traits and attributes that you pick up that you may not even realise.  The skills you pick up not only help your causes, but they also go a long way in your professional journey.  Here are 3 of the most important benefits I have come to realise about getting into grass roots charities and doing good for the people early on. 1.  Social skills Without doubt, it is one of the first skills you pick up in volunteering that goes a long way. Talking and engaging with people makes it so much easier to be able to progress in your career. It opens up new opportunities and gets you prepared for various situations. More likely than not, as a volunteer, you get the opportunity to work dir

Bitrix24 at Sri Om Foundation

As small organisations grow over time, the data stored and information shared between the employees grows exponentially over time. There is generally little emphasis placed on developing processes to manage the large quantities of data. Technology is rapidly growing and now there are more tools than ever to make your jobs easier. The real challenge is to use the get the right tool for the right job. Email is used as the "mother of all tools" to small organisations and seen as the right tool for the right job. With unlimited storage provided these days and allowing users to gain access to it anywhere from any device, it is seen as a one stop tool for all the organisation's needs. After all, you can use email for Storing documents Sharing information to one or more employees Managing tasks This tool works for a lengthy period until the organisation grows to a level where there are 100s of emails being shared on a daily basis. At this point, the