实体框架EDMX - 实体多元化修复

时间:2012-06-18 20:35:30

标签: entity-framework-4 t4

我们在PluralizationService中找到了某些单词的错误,例如它认为“Campus”是复数,并且它被“Campu”单独化。

无论如何,我们已经找到了如何使用ICustomPluralizationMapping接口向服务添加自定义映射,问题是,我们如何告诉EntityModelCodeGenerator使用我们的自定义服务而不是基本服务呢?

我们首先使用EF 4.2数据库和自定义T4模板。

1 个答案:

答案 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)