由于我的数据库是使用德语表名和列名设计的,因此实体框架的默认复数功能对我不起作用。
我找到了一些讨论这个问题的资源,但它们似乎都不起作用。
我发现了什么:有 PluralisationService 我可以在其中添加映射:
PluralizationService pluralizer =
PluralizationService.CreateService(CultureInfo.GetCultureInfo("en-us"));
ICustomPluralizationMapping mapping = ps as ICustomPluralizationMapping;
mapping.AddWord("Tabelle", "Tabellen");
但接下来是什么?我试图:
EntityModelSchemaGenerator generator = new EntityModelSchemaGenerator(container);
generator.PluralizationService = pluralizer;
generator.GenerateMetadata();
并将它们都放入我的 POCO T4 模板中。但它抛出了以下异常:
EntityContainer 'ContainerName' 不是商店 EntityContainer。参数名称:StoreEntityContainer
at System.Data.Entity.Design.EntityModelSchemaGenerator.Initialize(...)
at Microsoft.VisualStudio.TextTemplating...GeneratedTextTransformation.TransformText()