从数据库生成模型时更改EF实体命名模式

时间:2012-02-15 21:13:46

标签: c# entity-framework-4

有没有办法在从现有数据库生成EDM模型时更改EF用于生成实体名称的模式?

示例:

我有一个表:table_name,我想要将我的实体命名为TableName,而不必手动更改它。

编辑:我知道我可以更改POCO生成模板,但EDM生成怎么样?这是用模板完成的吗?如果是这样,该模板位于何处?

1 个答案:

答案 0 :(得分:1)

我担心这是不可能的 - 至少在没有调查EF Designer可扩展性或调查EdmGen内部的可能性的情况下。实体设计者的观点是允许您轻松映射/更改这些名称。

有趣的是,如果您从模型(EF设计人员)开始并希望从模型生成数据库是可能的 - 在这种情况下,流程由工作流和T4模板控制,您可以更改它但是在从数据库生成模型的情况下这个过程很可能是在Edmgen工具中硬编码的 - 你可以检查这个工具是否有任何API可以让你改变行为。

无论如何EDMX只是XML,所以如果您有确切的模式需要替换,您可以创建非常简单的工具,转换或脚本,它将在数据库生成后修改您的EDMX文件。

您无法更改POCO T4模板。模板必须生成与模型中实体名称完全相同的类。否则POCO魔法将无效。