2012-07-01 15 views
6

Yeni projemde EF Code First kullanıyorum. Otomatik Geçiş özelliğini kullanmıyorum ve db'de [__MigrationHistory] tablosunu kullanmıyorum. Ama Profiler bakarken, hep başka sorgudan önce EF yaşanan sorunlar böyle bir sorgu görebilirsiniz:EdmMetadata tablosuna karşı sorgular yayınlamayı nasıl devre dışı bırakabilirim?

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

Haw bu özelliği devre dışı bırakabilirsiniz?

cevap

11

Bu özelliği devre dışı bırakmanın tek yolu herhangi bir veritabanı başlatıcısı kullanmıyor. Veritabanı başlatıcıyı kullandıktan sonra (EF'in veritabanı oluşturmasını veya değiştirmesini beklersiniz) her zaman bu tabloya ilişkin sorularınız olacaktır.

Başvurunuzun bootstrap bu veritabanı başlatıcısı kullanımını kapatmak için:

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

Can tüm bu meta-sorgulama varsayılan olarak açık neden için gerekçe birisi bağlanmalı? Eminim ki birisi bir yerlerde iyi bir nedene sahiptir, ama bana göre değil. – flipdoubt

İlgili konular