2012-07-01 9 views
6

私は新しいプロジェクトでEF Code Firstを使用しています。私は自動移行機能を使用するつもりはなく、dbの[__MigrationHistory]テーブルを持っていません。しかし、プロファイラを見て、私はいつもEFは、他のクエリの前に、このようなクエリを発行見ることができます:EdmMetadataテーブルに対するクエリの発行を無効にするにはどうすればよいですか?

SELECT 
[GroupBy1].[A1] AS [C1] 
FROM (SELECT 
    COUNT(1) AS [A1] 
    FROM [dbo].[__MigrationHistory] AS [Extent1] 
) AS [GroupBy1] 

ホー私は、この機能を無効にすることができますか?

答えて

11

この機能を無効にする唯一の方法は、データベース初期化子を使用しないことです。データベースイニシャライザ(EFがデータベースを作成または変更することを期待している)を使用すると、常にこのテーブルに対するクエリが実行されます。

は、アプリケーションのブートストラップでこれをデータベース初期化子の使用をオフにするには:

Database.SetInitializer<YourContext>(null); 
+1

できるすべてこのメタ問い合わせはデフォルトでオンになっている理由の根拠に誰かのリンクは?私は誰かがどこかに良い理由があると確信していますが、それは私には明らかではありません。 – flipdoubt

関連する問題