Ref*_*din 9 .net entity-framework linq-to-sql
要明确的是,我并没有要求进行并列比较,这已经被问到Ad Nauseum在这里.我也不是在问Linq2Sql是不是死了,因为我不在乎.我要问的是......
我正在为非营利组织构建内部应用程序.我是员工中唯一的开发人员.我们总是使用SQL Server作为我们的数据库后端.我也设计和构建了数据库.我已经成功使用过几次L2S了.
考虑到所有这些因素,有人能给我一个令人信服的理由来使用EF代替L2S吗?
我本周末去了Code Camp,经过一个小时的EF演示,所有这些我都可以在L2S中完成,我问了同样的问题.发言人的回答是,"L2S已经死了......"很好!不!(见这里)
我理解EF是我们将来要使用的MS(见这里),它提供了更多的自定义选项.我无法弄清楚的是,在这种环境中,如果有任何应该或对我来说是重要的.
我们在这里遇到的一个特殊问题是我继承了基于4个不同SQL数据库构建的核心应用程序.L2S在这方面遇到了很大的困难,但当我问上述发言人是否EF会在这方面帮助我时,他说"不!"
我没有使用Linq2SQL的一大理由是它有一个重大的implcit设计缺陷:
使用DataContext的推荐最佳实践是它用于短暂的"工作单元"样式.很棒,除了它是一个中等昂贵的对象,一直在创建和处置.
当您想要反序列化或重新创建对象(可能来自提交的网页)然后更新现有记录时,会出现这种障碍.Linq-to-sql提供的Attach方法只接受以下三种情况:
第一种情况需要数据库更改,这对某些环境来说是不可接受的.第二种情况是右下方效率低下 - 为什么要检索已有的数据?第三种情况是不现实的 - 无状态网络应用程序通常不会保留历史信息.
这里的要点是...... EF4.0允许您将对象重新附加到ObjectContext并将其标记为已添加或新,并且上下文将相应地生成正确的INSERT/UPDATE语句.
| 归档时间: |
|
| 查看次数: |
2362 次 |
| 最近记录: |