我们的团队现在开始考虑从2.0跳到3.5并且一直在审查所有新东西......
那么,如果整个Linq to SQL未来都没有得到很大的改进,我们应该完全忽略它吗?
似乎它可能非常符合我们的需求,但我认为实体框架即使它可能会增加更多的复杂性。
因此,要避免Linq To SQL喜欢瘟疫并转而使用实体框架或者继续使用,Linq To SQL在4.0和未来版本中都会很好,甚至没有改进吗?
答案 0 :(得分:2)
我读过的所有内容似乎都暗示Linq2SQL仍会存在一段时间。如果我是你,我会选择最适合你试图解决的问题。我可能对使用实体框架有点偏向,因为它更抽象,可能是您和您的团队的一个很好的功能,因为Visual Studio 2008有一个设计师。
我认为这几年没什么大不了的。选择你最喜欢的那个。
更新:以免出现任何混淆 - 使用EF并不意味着放弃Linq。 Linq已经可以与EF一起使用。
答案 1 :(得分:1)
答案 2 :(得分:0)
我之所以选择LINQ只是因为它更简单,当你完成应用程序,并且正在考虑优化和重构时,那么你可以尝试实体,看看你是否有任何性能改进,或者是否有代码更好。
我倾向于从更简单,更快速开发的方法开始,以完成功能,然后重构,然后进行优化。
答案 3 :(得分:0)
在任何情况下我都会选择EF。我从不喜欢LINQ to SQL直接映射到数据库结构的想法。我非常喜欢EF的概念,在那里我可以决定向用户呈现哪些实体,然后根据需要将它们映射到数据库表。
答案 4 :(得分:0)
LINQ to SQL和Entity框架不是经过的彗星。它们是真正的编码革命!
我们现在可以在1小时内查询数据库,我们在1天前就开始了!
不要犹豫跳。如果.Net 4.0不支持LINQ to SQL或Entity框架,只需坚持3.5!
:○)
一切顺利,西尔万。
答案 5 :(得分:0)
如果LINQ to SQL符合您的需求,那么请继续使用它。它真的是一个非常强大的RAD工具。
EF将为您提供更大的灵活性,但也可能带来不必要的复杂性。
令人遗憾的是LINQ to SQL不再向前发展了,但是我会坚持到EF,直到EF真正成熟并允许相同的RAD开发,除非你现在需要EF功能。
答案 6 :(得分:0)
我会说这取决于。到目前为止,其他所有人都把事情做得很好。
如果您不介意最终对象模型将非常接近镜像数据库,请使用LINQ-to-SQL。如果您发现要以不同方式对事物进行建模,那么您可以使用LINQ-to-SQL模型做很多事情。
如果您希望使用相同的框架指向多种类型的数据,或者您想要在LINQ-to-SQL中抽象数据库模型,那么请使用EF。
遗憾的是,我没有关于两个模型之间性能差异的数据。
我不会说MS没有在LINQ-to-SQL上做很多活动开发这个事实应该吓跑你。它是一个非常好的,非常非常基本的对象映射解决方案。