0

这样做是个好习惯吗?

在控制器动作中

ValidateSomEntity(icontext, someid)
icontext.SaveChanges();

public ValidateSomEntity(IContext db_, int someid)
{
    db_.SomEntity.FirstOrDefault(c=>c.Id == someid);
   // do validate
}

或者最好在控制器操作中执行此操作

ValidateSomEntity(someid)
    icontext.SaveChanges();

    public ValidateSomEntity(int someid)
    {
        usgin(var db_ = new SomeDbContext())
       {
          db_.SomEntity.FirstOrDefault(c=>c.Id == someid);
            //do validate
       }
    }

我的问题是 Icontext 是 dbContext 的接口,并且在控制器中是由 ninject 构建的,所以我不知道当我为函数或控制器创建单元测试时是否会出现问题

4

1 回答 1

0

如果您使用 IOC 容器,推荐的方法是在每个 Http 请求的控制器构造函数中注入 IContext,然后您可以在任何函数中使用它。我不建议将上下文传递到您的函数中。

于 2013-07-02T22:51:26.440 回答