パフォーマンスのボトルネックに悩まされている ASP.NET MVC アプリがあります。EF 接続をプロファイリングし、許可されている最大 EF 接続と現在開かれている接続を調べたいと思います。それを行う方法はありますか?
私のリポジトリコード
using EntityFramework.Patterns;
public class ServiceRepository : IServiceRepository
{
private readonly IRepository<User> _userRepository;
private readonly IUnitOfWork _unitOfWork;
public ServiceRepository(DbContext dbContext)
{
var dbContextAdapter = new DbContextAdapter(dbContext);
_unitOfWork = new UnitOfWork(dbContextAdapter);
_userRepository = new Repository<User>(dbContextAdapter);
}
public IQueryable<User> GetUsersByProduct(int productId)
{
return _userRepository.AsQueryable().Where(p => p.Orders.Any(o => o.ProductId == productId));
}
//Skip code
public void Commit()
{
_unitOfWork.Commit();
}
}
Ninjectによる注射
private static void RegisterServices(IKernel kernel)
{
var connectionString = ConfigurationManager.ConnectionStrings["Entities"].ConnectionString;
kernel.Bind(typeof(DbContext)).ToMethod(context => new DbContext(connectionString)).InRequestScope();
kernel.Bind<IServiceRepository>().To<ServiceRepository>().InRequestScope();
}