我们在 PluralizationService 中发现了某些单词的一些错误,例如它认为“Campus”是复数,并将其单数化为“Campu”。
无论如何,我们已经弄清楚了如何使用 ICustomPluralizationMapping 接口向服务添加自定义映射,问题是,我们如何告诉 EntityModelCodeGenerator 使用我们的自定义服务而不是基础服务?
我们首先使用带有自定义 T4 模板的 EF 4.2 数据库。
我们在 PluralizationService 中发现了某些单词的一些错误,例如它认为“Campus”是复数,并将其单数化为“Campu”。
无论如何,我们已经弄清楚了如何使用 ICustomPluralizationMapping 接口向服务添加自定义映射,问题是,我们如何告诉 EntityModelCodeGenerator 使用我们的自定义服务而不是基础服务?
我们首先使用带有自定义 T4 模板的 EF 4.2 数据库。
也许这篇文章有帮助:http: //blogs.msdn.com/b/efdesign/archive/2008/12/02/pluralization.aspx
Update1:您需要添加此代码(示例):
//Create an EDM from SSDL generator
EntityModelSchemaGenerator generator =
new EntityModelSchemaGenerator(
storageModel,
"MyNamespace",
"MyContainer",
pluralizationService);
//Generate CSDL and MSL (in memory)
generator.GenerateMetadata();
到 T4 模板。为此,您必须将模板添加到您的项目中:右键单击模型设计器中的空闲空间并选择“添加代码生成项”。然后选择所需的模板,您将能够自定义此模板。
参考: http: //onlinecoder.blogspot.de/2011/03/customize-entity-framework-code.html 和http://www.matthidinger.com/archive/2010/02/09/customizing-the-entity- framework-t4-template-suppressing-code-analysis.aspx
Update2:文本转换和查找实体复数(集合)