首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EDMX还是不再使用EDMX?

EDMX还是不再使用EDMX?
EN

Stack Overflow用户
提问于 2012-03-13 01:35:23
回答 3查看 509关注 0票数 0

我有点困惑:随着EF的发展,我不确定我现在在哪里。

* EDMX是过去的选择,应该继续使用吗?*如果是,最好的选择是什么?*我讨厌edmx,我可以先升级到代码吗?

我不清楚所有这些EF版本对我来说是什么

谢谢乔纳森

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-13 13:50:29

对于很多应用程序来说,如果你愿意,你可以先开始使用Code。Code First还不支持的一件大事是映射到存储过程。(您仍然可以调用存储过程,但不能将实体CRUD操作映射到它们。)

尽管如此,使用EDMX进行Database First仍然是绝对受支持的,也是一个很好的选择,尤其是您喜欢使用EF设计器。

EF 4.1及以上版本完全支持代码优先和数据库优先。

就我个人而言,我几乎总是选择Code First,即使对于现有的数据库也是如此,因为我是一个以代码为中心的人,我更愿意将我的所有映射保存在代码中,这样我就可以轻松地重构、在源代码控制中管理、拆分到多个文件中,等等。对我来说,处理代码工件比处理单一的XML文档容易得多,也更好。

票数 0
EN

Stack Overflow用户

发布于 2012-03-13 14:08:38

这就是你应该如何评估你的实体框架的使用:

1) EDMX是一个完全有效的选项,特别是如果您有一个现有的数据库,并且想要基于您的数据库模式生成实体。我最喜欢的好处之一是以低风险进行快速的数据层开发。此外,当您有复杂的现有存储过程要处理时,将存储过程结果映射到类总是很好的做法。

2) Code First是一个完全有效的选项,特别是当您想要基于面向对象的数据模型创建数据库时。在代码优先的情况下,很容易进行大的重构,直到实现时你才会想到这些重构。源代码控制在代码中更常见,搁置/回滚是很好的特性。

TL;DR版本:它们都是完全可行的选择。它们都不会过时,也不会很快过时。

票数 0
EN

Stack Overflow用户

发布于 2016-12-08 13:06:54

我们在预热EF Code First时有性能方面的考虑。EF代码首先需要几分钟才能启动,因为我们有数千个实体。因此,这个瓶颈迫使我们使用EDMX,并使用Interactive Pregenerated在实体模型更改后的第一次运行时从代码首先创建EDMX,并且在其他第一次运行时大大缩短了预热时间。

但故事并没有到此为止。这样做之后,我们在Development area中看到了实体模型中的许多更改,因此在每次更改之后,应该经常重新创建(更新) EDMX文件。因此,我们决定以编程方式创建EDMX,并优化实体模型的创建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9671950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档