Database.SetInitializer na null nie działa Entity Framework 4.3.1 Kod Najpierw
Mam klasę kontekstu, która dziedziczy z abstrakcyjnej bazyAuditableDbContext : DbContext
. TheAuditableDbContext
przyjmuje dwa parametry, jeden dla audytora i jeden dla kontekstu kontroli.
W dziedziczonej klasie mam domyślny konstruktor bez parametrów, który wywołuje inne konstruktory z parametrami null, a następnie w finalnym konstruktorze wywołujęDatabase.SetInitializer<MyDbContext>(null)
po wywołaniu konstruktora bazowego.
Problem polega na tym, że nawet gdy to robię, nadal otrzymuję wywołania migracji bazy danych na serwerze bazy danych podczas uruchamiania aplikacji.
public abstract class AuditableContext : DbContext
{
public AuditableContext(IAuditor auditor, DbContext auditContext)
{
// params can be null resulting in no auditing
// initialization stuff here...
}
}
public class MyDbContext : AuditableContext
{
// DbSets here...
public MyDbContext() : this(null, null) {}
public MyDbContext(IAuditor auditor) : this(auditor, null) {}
public MyDbContext(IAuditor auditor, DbContext auditContext)
: base(auditor, auditContext)
{
Database.SetInitializer<MyDbContext>(null);
}
}
Zapytania, które widzę w bazie danych, to dwa typowe zapytania dotyczące migracji ...
SELECT [GroupBy1].[A1] AS [C1]
FROM ( SELECT COUNT(1) AS [A1]
FROM [dbo].[__MigrationHistory] AS [Extent1]
) AS [GroupBy1]
SELECT TOP (1)
[Extent1].[Id] AS [Id],
[Extent1].[ModelHash] AS [ModelHash]
FROM [dbo].[EdmMetadata] AS [Extent1]
ORDER BY [Extent1].[Id] DESC
Wszelkie pomysły na to, jak powstrzymać Entity Framework przed tworzeniem tych zapytań?