2012-09-21 13 views
6

Ich habe versucht Entity Frameworks Power Tools zu verwenden, Reverse Engineering-Code zunächst für eine SQLServer-Datenbank und erhalten den folgenden Fehler:System.ArgumentException: Der modelEntityContainerName Parameter enthält Zeichen, die nicht gültig sind

System.ArgumentException: The modelEntityContainerName parameter 'testContext' contains characters that are not valid.
    at System.Data.Entity.Design.EntityModelSchemaGenerator..ctor(EntityContainer storeEntityContainer, String namespaceName, String modelEntityContainerName)
    at Microsoft.DbContextPackage.Handlers.ReverseEngineerCodeFirstHandler.ReverseEngineerCodeFirst(Project project)

Gibt es etwas, Ich kann tun, um fortzufahren oder diesen Fehler zu vermeiden oder es zu umgehen.

Danke.

Antwort

2

Ich hatte das gleiche Problem. Meine Datenbank hieß sots-version-005 und der Code entging nicht dem Namen. Die Antwort ist, die Datenbank umzubenennen, und hoffentlich befinden Sie sich in einer Entwicklungsumgebung, in der das einfach ist.

Ich habe SQL Management Studio verwendet, mit der rechten Maustaste auf die Datenbank geklickt und sie in "sots5" umbenannt, wobei alle Zeichen außer alphanumerischen Zeichen entfernt wurden.

0

Ich arbeite derzeit mit VS 2013 und Entity Framework Version 6.1.2 und lief in den gleichen Fehler.

fand ich diesen Beitrag von ErikEJ auf Entity-Frameworks Codeplex-Website: http://entityframework.codeplex.com/workitem/898#CommentContainer9

„@ Greg - Dieses Problem wird in Power Tool nicht festgelegt, sondern wird in der Version 6.1 Tooling (Code-Erste aus der Datenbank) festgelegt (gerade getestet mit SQL Compact) "

So können derzeit PowerTools nicht dafür verwendet werden. Entity Framework 6 selbst unterstützt dies jedoch. Folgen Sie einfach den Workflow hier in diesem Video beschrieben: http://msdn.microsoft.com/en-us/data/jj200620

Sie Entitätsdatenmodell Element in das Projekt ein und wählen Sie dann „Code zuerst aus der Datenbank“.

Bitte beachten Sie, dass die generierten Klassen ein wenig anders als die von Power Tools erstellt wurden. Power Tools verwendet beim Konfigurieren der Datenbank nur die Fluent-API. Der EF-Assistent verwendet dagegen standardmäßig Datenanmerkungen und verwendet die Fluent-API nur bei Bedarf. Es ist jedoch auch möglich, die Vorlagendateien so zu ändern, dass nur Fluent API verwendet wird.

Verwandte Themen