Search code examples
c#entity-frameworkaspnetboilerplate

How do I debug EF in asp Net Zero


In a typical MCV project, for debuging Entity Framework I'd have something like

using (var context = new BlogContext())
{
    context.Database.Log = s => Debug.WriteLine(s);
    //generated sql is now in output window
}

It looks like asp net zero is making my life easier by using a repository pattern. What is the new and improved way to get access to the raw sql that EF is running?


Solution

  • This is the solution;

    using System.Diagnostics;
    using System.Web.Mvc;
    using Abp.Domain.Repositories;
    using Abp.EntityFramework.Repositories;
    
    namespace AspNetZero.WebSite.Web.Controllers
    {
        public class MyController : WebSiteControllerBase
        {
            private readonly IRepository<MyEntity> _myEntityRepository;
    
            public MyController(IRepository<MyEntity> myEntityRepository)
            {
                myEntityRepository.GetDbContext().Database.Log = s => Debug.WriteLine(s);
            }
        }
    }