实体框架生成单独的类

Posted

技术标签:

【中文标题】实体框架生成单独的类【英文标题】:Entity Framework generating separate classes 【发布时间】:2013-09-13 14:15:15 【问题描述】:

我使用的是以前版本的实体框架,它只为所有类生成一个文件。但我刚刚升级到 Visual Studio 2012,现在它为每个表生成一个单独的类文件。我该如何改变呢?我不想要 100 个类文件,而是希望将它们组合在一个文件/命名空间中。

【问题讨论】:

您确定要这个而不是有序的层次结构吗?在文档中找到一些东西会很痛苦,更不用说流利地使用它了。据我所知,你问的是不可能的。 msdn.microsoft.com/en-us/data/gg558520.aspx ...玩得开心...我觉得你疯了;-) 【参考方案1】:

您必须删除所有生成类的 T4 模板(*.tt 文件)。然后打开*.edmx 文件。在属性窗口中搜索Code Generation Strategy 并将其从None 设置为Default。 现在将生成带有ObjectContext 的旧模板。但我建议使用 T4 模板及其生成的 POCO 类。它们更简洁,您可以根据需要更改 T4 模板。

看 https://***.com/a/13614390/2743414

还有How can I modify the default code generation strategy for edmx?

【讨论】:

可以在不删除任何文件的情况下完成。只需打开edmx 文件,找到<edmx:DesignerProperty Name="CodeGenerationStrategy" 并将其Value 更改为"Default"

以上是关于实体框架生成单独的类的主要内容,如果未能解决你的问题,请参考以下文章

如何将实体框架数据模型移动到同一项目中的单独文件夹

在业务逻辑层使用实体框架生成的类

实体框架/Linq to sql 模型到业务模型

实体框架生成的类不在我需要的命名空间中,有没有办法在不重新生成的情况下更改它使用的命名空间?

实体框架中的类和接口层次结构?

实体框架与数据访问层