6

Właśnie utworzyłem nową usługę struktury serwisowej, która będzie okresowo próbowała zapisać niektóre modele do SQL Azure za pomocą Entity Framework i biblioteki Elastic Client Database. Próbuję go jak najdokładniej modelować do przykładowej biblioteki EF biblioteki SQL Azure Elastic (Elastic DB Tools EF Sample). Znajduję się w momencie, w którym muszę włączyć migrację, ale po uruchomieniu Enable-Migrations otrzymuję następujący komunikat o błędzie. Używam parametru ContextTypeName, ponieważ brzmiało to tak, jak byłoby to wymagane, jeśli mam zamiar ostatecznie mieć różne usługi sieciowe usług, które są kierowane na tę samą bazę danych w różnych modelach. Jakieś sugestie?Enable-Migrations "Odwołanie do obiektu nie jest ustawione na wystąpienie obiektu"

PM> Enable-Migrations -ContextTypeName "ServiceHealth.DbService" 
Exception calling "SetData" with "2" argument(s): "Type 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject' in assembly 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is 
not marked as serializable." 
At C:\eNowCloud\eNow.MicroServices\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1:720 char:5 
+  $domain.SetData('startUpProject', $startUpProject) 
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
    + FullyQualifiedErrorId : SerializationException 

System.NullReferenceException: Object reference not set to an instance of an object. 
    at System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetProjectTypes(Project project, Int32 shellVersion) 
    at System.Data.Entity.Migrations.Extensions.ProjectExtensions.IsWebProject(Project project) 
    at System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade(String configurationTypeName, Boolean useContextWorkingDirectory) 
    at System.Data.Entity.Migrations.EnableMigrationsCommand.FindContextToEnable(String contextTypeName) 
    at System.Data.Entity.Migrations.EnableMigrationsCommand.<>c__DisplayClass2.<.ctor>b__0() 
    at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command) 
Object reference not set to an instance of an object. 
+0

Czy jesteś w stanie udostępnić minimalne repro tego numeru? –

+0

Mam podobny problem, czy znalazłeś rozwiązanie? –

+0

Okazuje się, że zapomniałem ustawić connectionstring w moim web.config. –

Odpowiedz

2

Mam ten sam problem rozwiązany wyjątku określając -StartUpProjectName parametr polecenia Enable-Migrations do mojego .NET Framework dll z kontekstu db. Problem może dotyczyć dziwnego projektu uruchamiania - problemu w .IsWebProject() (asp.core w moim przypadku). Zobacz bardziej szczegółową odpowiedź na Enable-Migrations Exception calling "SetData" with "2" argument(s).

Powiązane problemy