我们在PluralizationService中找到了某些单词的错误,例如它认为“Campus”是复数,并且它被“Campu”单独化。
无论如何,我们已经找到了如何使用ICustomPluralizationMapping接口向服务添加自定义映射,问题是,我们如何告诉EntityModelCodeGenerator使用我们的自定义服务而不是基本服务呢?
我们首先使用EF 4.2数据库和自定义T4模板。
答案 0 :(得分:1)
也许这篇文章很有用: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:Text Transformations & Finding Entity Plural (Collection)