【发布时间】:2020-11-04 14:57:08
【问题描述】:
Entity Framework Core 正在将此 SQL 查询发送到 SQL Server:
SELECT
[GroupBy1].[A1] AS [C1]
FROM ( SELECT
COUNT(1) AS [A1]
FROM [dbo].[__MigrationHistory] AS [Extent1]
) AS [GroupBy1]
go
SELECT TOP (1)
[Extent1].[Id] AS [Id],
[Extent1].[ModelHash] AS [ModelHash]
FROM [dbo].[EdmMetadata] AS [Extent1]
ORDER BY [Extent1].[Id] DESC
go
https://www.tallan.com/blog/2019/05/02/taking-a-look-at-entity-framework-queries-pt-1-net-framework
我们如何才能停止发送这些查询?
申请代码:
这是Startup.ConfigureServices:
services.AddDbContext<AppContext>(options => options.UseSqlServer(Configuration.GetConnectionString("AppConnectionString")));
这是 DbContext:
public class AppContext: DbContext
{
public AppContext(DbContextOptions<AppContext> options) : base(options)
{
}
public DbSet<Currency> Currency { get; set; }
public DbSet<StateProvince> StateProvinces { get; set; }
}
问题陈述:
我们没有使用迁移,所有表都已经存在。因此,当 Entity Framework Core 生成这些查询时,SQL Server Profiler 会记录错误,因为 __MigrationHistor 和 EdmMetadata 不存在。
【问题讨论】:
-
请不要发布同一个问题。 EF Core不会自动针对迁移历史表发出 SQL 查询,而且根本没有
EdmMetadata。您展示的是来自 EF6 的 SQL。
标签: asp.net entity-framework entity-framework-core