9

Da meine Datenbank mit deutschen Tabellen- und Spaltennamen entworfen wurde, funktioniert die Pluralisierungsfunktion von Entity Framework für mich nicht.Howto Pluralisierung für Entity Framework 5 anpassen

Ich habe ein paar Ressourcen gefunden, wo dies diskutiert wird, aber keiner von ihnen scheint zu funktionieren.

was ich gefunden habe: Es ist die PluralisationService, wo ich die Zuordnungen hinzufügen:

PluralizationService pluralizer = 
     PluralizationService.CreateService(CultureInfo.GetCultureInfo("en-us")); 
ICustomPluralizationMapping mapping = ps as ICustomPluralizationMapping; 
mapping.AddWord("Tabelle", "Tabellen"); 

Aber was kommt als nächstes? Ich habe versucht, zu:

EntityModelSchemaGenerator generator = new EntityModelSchemaGenerator(container); 
generator.PluralizationService = pluralizer; 
generator.GenerateMetadata(); 

und in meiner POCO T4 Template beide setzen. Aber es hat folgende Ausnahme ausgelöst:

Der EntityContainer 'ContainerName' ist kein Geschäft EntityContainer. Parametername: storeEntityContainer
bei System.Data.Entity.Design.EntityModelSchemaGenerator.Initialize (...)
bei Microsoft.VisualStudio.TextTemplating ... GeneratedTextTransformation.TransformText()
+0

+1 für die Untersuchung in der Frage. So sollten Fragen gestellt werden. Mit diesem Thema selbst ohne viel Erfolg zu kämpfen. – Judo

Antwort

0

ich auch bin auf der Suche für die gleiche Sache. Vielleicht kann this helfen. Ich bin einfach nicht bereit, für solch eine grundlegende Funktion zu bezahlen.

EDIT:

Der Code, den Sie geschrieben ist mit EdmGen2 wich verwendet werden Sie CSDL, SSDL oder MSL-Dateien geben pluralized nach Ihrer Klasse.

0

Um die Tabellennamen in EF-Code zunächst vollständig anpassen, können Sie die Table Attribut explizit den Namen der Tabelle mit einer Klasse zugeordnet spezifizieren:

[Table("InternalBlogs")] 
public class Blog 
{ 
    //... 
} 
0

Eine sehr alte Frage, aber wenn jemand suche noch nach einem möglichen Workflow/Lösung:

Ich hatte ein ähnliches Problem, wo ich den Schema-Import (CSDL) von der Datenbank anpassen wollte. Die Lösung/Workflow war wie folgt:

  1. das Datenbankschema Eingesetzte (I Visual Studio-Datenbank Projekt VS 201x verwendet wird) zu einer lokalen Datenbank
  2. das Datenbankmodell mit importierten EDMGEN die CSDL, SSDL und MSDL erstellen Dateien http://msdn.microsoft.com/en-us/library/vstudio/bb387165(v=vs.110).aspx
  3. Modified EDMGEN2 mit meinen Änderungen, wie Pluralisierung und Benennung mit benutzerdefinierten Regeln zu handhaben und erstellt EDMX
  4. Ran die T4-Vorlagen (mit zusätzlicher Anpassung je nach Bedarf) Datei Ausgabe zu erstellen.
Verwandte Themen