当前位置:  开发笔记 > 编程语言 > 正文

何时不使用实体框架

如何解决《何时不使用实体框架》经验,为你挑选了3个好方法。

我一直在玩EF,看看它能处理什么.此外,许多文章和帖子解释了可以使用EF的各种场景,但是如果以某种方式错过"con"方面.现在我的问题是,在什么样的情况下我应该远离实体框架

如果你在这个领域有一些经验,请告诉我哪些场景不适合EF.告诉我你经历过的一些缺点,你会选择不同的技术.



1> Daniel Auger..:

在不信任投票列出了几个失误和/或在那些谁相信他们的眼睛的功能失位知道有什么特点,以及它们的实现,是正确的ORM/DataMapper的框架.

如果这些问题都不是什么大问题,那么我不明白为什么你不应该使用它.我还没有听说这是一个左右爆炸的车子.所有反对它的警告都是哲学的.我碰巧同意不信任投票,但这并不意味着你应该这样做.如果您碰巧喜欢EF的工作方式,那就去吧.与此同时,我建议你至少阅读不信任投票,并尝试对每个问题进行初步了解,以便做出明智的决定.

除了这个问题和问题的核心 - 您需要密切关注正在生成的Sql,以便在性能问题投入生产之前进行调整.即使你在后端使用过程,我仍然会寻找你可能会多次访问数据库的情况,然后重新编写映射或相应地获取方案.



2> Ryan Michela..:

一个潜在的大问题:Entity Framework 1.0不支持持久性无知.这意味着您的业务层依赖于您的数据访问层.

如果整个应用程序将托管在同一个进程中(如IIS上的网站),那么这不是问题.

但是,如果您需要远程实体(例如Silverlight或Windows Mobile客户端),那么您的实体将无法轻松地通过网络进行序列化.您必须创建单独的数据传输类以通过线路发送实体,以及在实体类和DTO之间编组数据的其他逻辑.

编辑:拼写.



3> Duncan..:

我也只是在'玩弄'阶段,虽然我担心缺乏内置的持久性不可知论,但我确信会有"解决方法".

事实上,甚至在n层架构中都没有解决方案.

WCF + EF

如果我正确地阅读了这篇文章,那么我没有看到任何问题通过网络序列化实体(使用WCF),并且持久性无知也不是问题.

这是因为我主要使用PI进行单元测试.

单元测试可能的!(我认为)

在这个系统中,我们可以简单地使用模拟服务(通过在基于另一个接口的类中包含对服务的调用,例如可以从工厂生成).这将测试我们的演示者代码(不需要对EF/DAL进行单元测试 - 这是微软的工作!)当然,仍然需要进行集成测试才能充分发挥自信.

如果你想写一个单独的数据库,这将在DAL层完成,可以通过配置文件轻松实现.

我的Tuppence值得

我的观点 - 对EF进行自己的思考,并且不要因为那些正在进行巡回赛的所有厄运和沮丧而被推迟.我猜它会在一段时间内出现,MS会在明年左右解决这些问题.根据Dan Simmons的说法,PI肯定会出现.

编辑:我刚刚意识到我跳了枪,就像一位优秀的政治家实际上没有回答被问到的问题.哎呀.但我会留下这个以防万一其他人发现它有用.


"打造自己的想法"是这个问题的公认答案?那非常慷慨.
推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有