2013-02-24 15 views
7

dodałem do mojego modelu nową tabelę:EF dodatek migracja generuje pusty migracji oraz

public DbSet<ReturnedTransactions> ReturnedTransactions { get; set; } 

i chcę moje migracje do wygenerowania tego stół dla mnie, więc zrobiłem:

PM> Add-migration returnedTransactions 

I wygenerował on:

public partial class returnedTransactions : DbMigration 
{ 
    public override void Up() 
    { 
    } 

    public override void Down() 
    { 
    } 
} 

Jak wymusić na tej rzeczy wygenerowanie odpowiedniego kodu?

+0

Jakie pola są w twoim stole? Czy możesz pokazać klasę, w której definiujesz tabelę? –

+0

Cóż, to jest klasa z mnóstwem pól, dlaczego to ma znaczenie? – ojek

+0

Czy próbowałeś wcześniej skompilować projekt? – MayogaX

Odpowiedz

1

Usuń z tabeli _MigrationHistory.

+3

Polecam przeciwko właśnie losowe czyszczenie tabeli '__MigrationHistory'. To spowoduje, że Entity Framework uzna, że ​​migracje zostały uruchomione, a tabele nie zostały utworzone. Wtedy, gdy Entity Framework uruchomi migracje, będzie zgłaszać błędy dotyczące istniejących tabel lub kolumn. Lepszym sposobem jest użycie 'Update-Database -Target: 0' lub podobnego polecenia, aby usunąć rzeczy. –

1

Widzę, że dzieje się tak, gdy nie dodaję mojej jednostki DBSet do mojej klasy DbContext, która jest powiązana z plikiem konfiguracji migracji.

Mimo, że nie może być w tym przypadku, jak widzimy, że Asker zawiera linię:

public DbSet<ReturnedTransactions> ReturnedTransactions { get; set; } 

Mimo to, jest to coś trzeba sprawdzić, kiedy są one zwracane pustej klasie migracji.

0

Po prostu miałem ten problem i dodałem opcję -Force do polecenia Add-Migration i zadziałało.

Powiązane problemy