我最近发现我严重使用了DbContext。
我试图为每个应用程序提供单个DbContext实例,并将其注入DbServcies并在Repositories旁边。
var context = new DbEntities();
SimpleIoc.Default.Register<IPaymentLogService>(() => new PaymentLogService(context));
public PaymentLogService(installmentsEntities context)
{
_context = context;
_paymentLogRepository = new PaymentLogRepository(context);
}
我的存储库创建如下:
public PaymentLogRepository(DbEntities context)
{
_context = context;
}
通过实体框架添加行时,如下所示:
public int Add(PaymentLog entity)
{
_context.PaymentLogs.Add(entity);
var affectedRows = _context.SaveChanges();
return numberOfAddedItems;
}
我的_context一直存在,然后是关于所有挂起的更改的新内容,例如通过setter,因此我在数据库中获得了额外的更新。
使用dbContext的好方法是什么。
我应该按照方法/操作,还是按服务/存储库实例化它?