Необработанный SQL в EF-миграции - PullRequest
0 голосов
/ 06 ноября 2018

Я буду добавлять таблицу Country в базу данных, для которой потребуется поле для ученика. Однако в таблице Student есть записи, поэтому я хочу сначала установить для страны значение NULL, запустить миграцию необработанного SQL для установки CountryId для существующих студентов, а затем изменить иностранный ключ, чтобы быть необнуляемым. Будет ли это возможно? спасибо

public class Country {
    public int Id {get; set;}
    public string Name {get; set;}
}

public class Student {
    public int? CountryId {get; set;}
    public virtual Country Country {get; set;}
}

1 Ответ

0 голосов
/ 06 ноября 2018

Мне удалось выяснить это, класс Migration наследует от DbMigration, это дает доступ к методу 'Sql', который можно использовать для написания необработанного sql. -

 public override void Up()
    {
        Sql("INSERT INTO Table VALUES ('val')");
        Sql("UPDATE Table SET COL = '1' WHERE COL IS NULL ");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...