将dbContext与存储库和服务一起使用的正确方法是什么

时间:2015-06-26 12:47:37

标签: c# entity-framework-6

我最近发现我严重使用了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的好方法是什么。

我应该按照方法/操作,还是按服务/存储库实例化它?

0 个答案:

没有答案