Od tej strony: Database initializer and Migrations Seed methods:
Sposób Seed
na klasy tras Configuration
zawsze, gdy wykonywana jest komenda PowerShell PowerShell. Jeśli inicjator migracji nie zostanie użyty , metoda Migrations Seed
nie zostanie wykonana po uruchomieniu aplikacji .
Tak, myślę, że nie masz wiele opcji tutaj, metoda migracji Seed
zawsze zostanie wywołana po uruchomieniu polecenia Update-Database
. Kopałem, jeśli istnieje parametr tego polecenia, który pozwala określić, aby nie uruchamiać metody Seed
, ale jestem fraid, jeszcze nie istnieje. Są to wszystkie parametry można używać (można znaleźć więcej informacji w tej link):
Update-Database [-SourceMigration <String>] [-TargetMigration <String>] [-Script] [-Force]
[-ProjectName <String>] [-StartUpProjectName <String>] [-ConfigurationTypeName <String>]
[-ConnectionStringName <String>] [-AppDomainBaseDirectory <String>] [<CommonParameters>]
Update-Database [-SourceMigration <String>] [-TargetMigration <String>] [-Script] [-Force]
[-ProjectName <String>] [-StartUpProjectName <String>] [-ConfigurationTypeName <String>]
-ConnectionString <String> -ConnectionProviderName <String>
[-AppDomainBaseDirectory <String>] [<CommonParameters>]
Jeśli wykonanie skryptu SQL do wstawiania danych w metodzie Seed
, można użyć warunku booleam uniknąć włóż ponownie te same pola po raz pierwszy.
Jako aditional informacji, prośba w mieć parametr, aby uniknąć wykonać metodę Seed
po uruchomieniu komendy Update-Database
już istnieje w tym site, który jest wykorzystywany przez zespół EF zebranie sugestii społeczności.
Czy używasz metody rozszerzającej 'AddOrUpdate'? – octavioccl
Nop, nie używam 'AddOrUpdate' dla wszystkich wstawek nasion, oprócz tego istnieją surowe skrypty slq. –
http://stackoverflow.com/a/20245687/150342 – Colin