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 に答える