После использования профилировщика мы заметили, что наше приложение загружается медленнее из-за запроса, выполняемого Entity Framework.Почему Entity Framework выбирает все таблицы, столбцы и другую информацию
SELECT [Extent1].[TABLE_NAME] AS [TABLE_NAME], [Extent1].[COLUMN_NAME] AS [COLUMN_NAME], [Extent1].[TABLE_CATALOG] AS [TABLE_CATALOG], [Extent1].[TABLE_SCHEMA] AS [TABLE_SCHEMA], [Extent1].[ORDINAL_POSITION] AS [ORDINAL_POSITION], [Extent1].[COLUMN_DEFAULT] AS [COLUMN_DEFAULT], [Extent1].[IS_NULLABLE] AS [IS_NULLABLE], [Extent1].[DATA_TYPE] AS [DATA_TYPE], [Extent1].[CHARACTER_MAXIMUM_LENGTH] AS [CHARACTER_MAXIMUM_LENGTH], [Extent1].[CHARACTER_OCTET_LENGTH] AS [CHARACTER_OCTET_LENGTH], [Extent1].[NUMERIC_PRECISION] AS [NUMERIC_PRECISION], [Extent1].[NUMERIC_PRECISION_RADIX] AS [NUMERIC_PRECISION_RADIX], [Extent1].[NUMERIC_SCALE] AS [NUMERIC_SCALE], [Extent1].[DATETIME_PRECISION] AS [DATETIME_PRECISION], [Extent1].[CHARACTER_SET_CATALOG] AS [CHARACTER_SET_CATALOG], [Extent1].[CHARACTER_SET_SCHEMA] AS [CHARACTER_SET_SCHEMA], [Extent1].[CHARACTER_SET_NAME] AS [CHARACTER_SET_NAME], [Extent1].[COLLATION_CATALOG] AS [COLLATION_CATALOG], [Extent1].[COLLATION_SCHEMA] AS [COLLATION_SCHEMA], [Extent1].[COLLATION_NAME] AS [COLLATION_NAME], [Extent1].[DOMAIN_CATALOG] AS [DOMAIN_CATALOG], [Extent1].[DOMAIN_SCHEMA] AS [DOMAIN_SCHEMA], [Extent1].[DOMAIN_NAME] AS [DOMAIN_NAME] FROM [information_schema].[columns] AS [Extent1]
Так этот запрос получить всю информацию о базе данных. Но мы задаемся вопросом, почему и если можно остановить его или сделать быстрее.
Пожалуйста, покажите нам соответствующий запрос, который приводит к этому запросу. – user2900970
Ну, это проблема. Мы действительно не думаем, что это то, что мы делаем, это то, что EF делает сам, когда начинается наша программа. – Stefan
Возможно ли это из-за проверки совместимости модели? Вы можете отключить его, используя: 'Database.SetInitializer (null);' –
Magnus