我使用实体框架作为我的 ORM,并试图弄清楚如何解决我遇到的一些主要问题。让我描述一下我的团队的一些背景设置。
我们的数据库使用 SQL Server 2012,IDE 使用 Visual Studio 2012,源代码控制使用 GIT,ORM 使用 Entity Framework。在我们的源代码控制中,我们在一个名为“master”的分支中进行开发。我们有一个“暂存”分支(用于测试)和一个“实时”分支(这是生产代码)。当我们进行修补程序时,我们会分离出最新的实时代码,将其推送到登台进行测试,然后在授权投入生产后将其推送到实时。完成后,我们将 hotfix 分支合并回 master 分支。我们也遇到过这样的情况,即当前在我们的主分支中的代码被樱桃挑选到一个修补程序分支中并实时推送。
在所有这些情况下,我们最大的痛点是 EDMX 文件。这个东西很大,有数百个表和 proc 映射。我们现在只能让一个开发人员使用 EDMX 文件,因为 GIT 无法处理合并冲突。此外,当我们尝试从我们的主分支中挑选樱桃时,我们最终会遇到 EDMX 合并的噩梦。
我们根本无法继续这种方式,在我们控制 ORM 之前,我们当然不能雇用更多的程序员。我现在正在考虑使用像 ORMlite 这样的新 ORM,这样我就可以摆脱 EDMX 文件。有没有人对这类问题有任何经验?可以做些什么来防止这些合并冲突和分支问题?我听说在 EF6 中 EDMX 文件将被删除。这是真的?