1

重複の可能性:
Linq to Sql を使用して mvc mini profiler を構成するのに役立ちます

データベースの永続性のためにLinq-to-SQLを使用しています。以前はDataContext、リポジトリで次のようにインスタンス化していました。

DbContext db = new DbContext();

mvc ミニ プロファイラーを使用してデータベースをプロファイリングしたいので、次のアプローチDataContextを使用してオブジェクトを作成しました。

partial class DBContext
{
   public static DBContext Get()
   {
      var conn = ProfiledDbConnection.Get(new SqlConnection(connectionString));
      return new DBContext(conn);
   }
}

オブジェクトは問題なく取得できDataContextますが、このオブジェクトに対して Linq クエリを実行すると、以前は正常に機能していたメソッドで null 参照例外が発生します。なぜこのように振る舞うのか、何か考えはありますか?
編集:わかりました、これはnull参照例外を与えているliqnクエリです

var val = (from mod in db.sysModules
                        where
                        mod.ModuleActionResult.ToLower().Equals(actionName.ToLowerInvariant())
                    select mod).SingleOrDefault();

nullであるdbではなく、sysModulesを展開すると実際に例外がスローされることに注意してください。ここに画像の説明を入力 ここで結果ビューで sysmodules を展開しようとしたときの次のスクリーン ショットを見てください 。null 参照例外が発生します。新しいキーワードを使用して DataContext をインスタンス化すると、すべて正常に動作します。
Edit2: AddSqlTiming メソッドの MiniPfiler.cs で例外がスローされています。スタックトレースを見てください ここに画像の説明を入力

4

0 に答える 0