Когда генерируется перенос кода EF, он содержит схему / строку пользователя, например:
CreateTable(
"MYSCHEMA.QA_CALCQUEUE",
c => new
{
CALCREQID = c.Decimal(nullable: false, precision: 19, scale: 0, identity: true),
ACTIONCODE = c.String(maxLength: 32),
ACTIONTEXT = c.String(maxLength: 2048),
CALCQAMEASID = c.Decimal(nullable: false, precision: 10, scale: 0),
QAMEASID = c.Decimal(nullable: false, precision: 10, scale: 0),
TIMESTAMP = c.DateTime()
})
.PrimaryKey(t => t.CALCREQID)
.ForeignKey("MYSCHEMA.QA_MEAS", t => t.QAMEASID)
.ForeignKey("MYSCHEMA.QA_MEAS", t => t.CALCQAMEASID)
Где MYSCHEMA - имя схемы.Когда я опускаю , используя приведенный ниже код в DbContext :
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema(string.Empty);
}
Сгенерированная миграция не будет содержать схему , но это не удастся во время применения миграции.Есть ли способ, как сделать миграцию без имени схемы?Я могу думать только о замене MYSCHEMA на строковую переменную, но окончательное решение не потребует этого после генерации миграции.