Stworzyłem nowy projekt i dodałem do niego nowy framework encji (wersja 4.3). Stworzyłem klasy i kontekst tak, jak w poprzednich wersjach EF. Jednak podczas pierwszego biegu, gdy baza danych powinna być utworzony (w moim przypadku jest to SQL Server 2005), Otrzymuję następujący błąd:Entity Framework 4.3 nie tworzy bazy danych
An error occurred while executing the command definition. See the inner exception for details.
z następującym wewnętrznym wyjątek:
Invalid object name 'dbo.__MigrationHistory'.
Jak rozumiem, ta tabela dotyczy migracji, ale ta tabela nie istnieje, jeśli nie ma bazy danych. czy robię coś źle?
Więcej informacji: Dla celów testowych I stworzył tylko jedną klasę:
public class Test
{
[Key]
public int TestId { get; set;}
public string Name {get; set;}
}
public class Context : DbContext
{
public Context() : base("MyConnection")
{
}
public DbSet<Test> Tests { get; set;}
}
UPDATE 1
Po kilku testach zdałem sobie sprawę, że aplikacja jest rzucanie nieobsługiwany wyjątek od visual studio i złamać w wizualny studio. Wyjątkiem był System.Data.EntityCommandExecutionException. Po zignorowaniu tego wyś wietlenia i nie zatrzymałem wykonywania kodu, utworzono bazę danych.
UPDATE 2
Po kolejnych kilku godzinach pracy z bazą danych okazało się, że gra z opcji Enable-migracje i update-Database z konsoli też jest rozwiązanie tego problemu. Tworzy bazę danych przed uruchomieniem aplikacji i nie łamie się w Visual Studio.
wygląda jak coś nie jest zsynchronizowany http://stackoverflow.com/questions/3986160/an-error-occurred-while-executing-the-command-definition-see-the-inner-exceptio –
cię mieć ręcznie utworzone klasy? lub użyłeś kreatora –
Do testowania stworzyłem tylko jedną klasę o nazwie Test with TestId jako [Key] i właściwość string o nazwie name. Nie ma nic więcej. – Marcin