2012-07-01 19 views
6

Tôi đang sử dụng mã EF Đầu tiên trong dự án mới của tôi. Tôi sẽ không sử dụng tính năng Auto Migration và không có bảng [__MigrationHistory] trong db. Nhưng khi xem Profiler, tôi luôn có thể thấy EF đưa ra một truy vấn như thế này trước bất kỳ truy vấn nào khác:Làm cách nào để tắt truy vấn phát hành với bảng EdmMetadata?

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

Tôi có thể tắt tính năng này?

Trả lời

11

Cách duy nhất để tắt tính năng này không sử dụng bất kỳ bộ khởi tạo cơ sở dữ liệu nào. Một khi bạn đang sử dụng bộ khởi tạo cơ sở dữ liệu (bạn mong đợi EF tạo hoặc thay đổi cơ sở dữ liệu), bạn sẽ luôn có các truy vấn tới bảng này.

Để tắt cơ sở dữ liệu sử dụng khởi tạo này tại bootstrap của ứng dụng của bạn:

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

Có thể ai đó liên kết đến lý do tại sao tất cả điều này meta-truy vấn được bật theo mặc định? Tôi chắc rằng ai đó có lý do chính đáng ở đâu đó, nhưng điều đó không rõ ràng đối với tôi. – flipdoubt

Các vấn đề liên quan