Entity framework 实体框架7和EDMX操作自动生成自定义代码

Entity framework 实体框架7和EDMX操作自动生成自定义代码,entity-framework,t4,Entity Framework,T4,我目前使用EF6,并使用模型优先的方法。据我所知,EF7将不再使用EDMX,而是采用代码优先的方法。现在我知道,如果需要,我仍然能够将数据库反向工程到类中 然而,有一件事我不确定,我目前对EF6所做的任何操作在EF7中都会得到支持 目前,我编写了T4模板,这些模板通读EDMX,获取实体,并基于它们创建新类。例如,我为每个具有深度克隆方法的实体创建分部类。我还基于实体创建了存储库类,并创建了按主键查找的方法,基于这些方法,每个类中的属性都被标识为主键 如果我丢失了EDMX,这是否意味着我需要返回手

我目前使用EF6,并使用模型优先的方法。据我所知,EF7将不再使用EDMX,而是采用代码优先的方法。现在我知道,如果需要,我仍然能够将数据库反向工程到类中

然而,有一件事我不确定,我目前对EF6所做的任何操作在EF7中都会得到支持

目前,我编写了T4模板,这些模板通读EDMX,获取实体,并基于它们创建新类。例如,我为每个具有深度克隆方法的实体创建分部类。我还基于实体创建了存储库类,并创建了按主键查找的方法,基于这些方法,每个类中的属性都被标识为主键


如果我丢失了EDMX,这是否意味着我需要返回手动创建这些文件?或者还有其他方法吗?

如果您想继续使用T4模板,可以切换到类似CodeFirst->Reverseengener的方法

您可以在代码中更新模型,生成新的迁移,在数据库上测试它,然后使用反向engeneer code first方法()生成其他所有内容。理论上它可以自动化


在我的团队中,我们是手动完成的,但我们不需要迁移,只需要T4生成的代码优先上下文和许多附加内容。

是的,您仍然可以使用T4模板和代码优先,我们导航实体类而不是EDMX模型


我最近一直在关注VS2015,但T4和asp.net 5以及相关项目存在一些问题(FileManager因多个文件输出而挂起,您将需要最新版本的Visual Studio,当前更新1)

因此基本上T4模板将操作数据库,而不是EDMX?仍然是EDMX,但它不会被存放在任何地方。Reverseengener工具会动态创建它。我需要试一试。我通常对EDMX进行的更改是如何工作的?也就是说,将某些表的Id列更改为enum列。@eyeballpaul你在这方面做过什么工作吗?我正要问同样的问题。在EF7没有edmx文件的情况下,如何生成代码有任何更新吗?@Riapp没有。对不起,我已经将EF7与asp.net 5一起放在backburner上,直到它的功能更加完善。我现在很难将哪怕是一小段代码移植到EF7。我希望微软的人能让EDMX开源。因为企业界的DBA不会同意代码优先的方法。至少在可预见的将来不会!