学习LinqToSql还是坚持使用ADO.NET?
我正在讨论在即将到来的ASP.NET项目中使用什么技术 假设:学习LinqToSql还是坚持使用ADO.NET?,linq,linq-to-sql,entity-framework,ado.net,linq-to-objects,Linq,Linq To Sql,Entity Framework,Ado.net,Linq To Objects,我正在讨论在即将到来的ASP.NET项目中使用什么技术 假设: 我将使用VisualStudio2008SP1(.NETFramework 3.5) 后端将是SQL Server 2005数据库(或可能是2008) 代码将用C语言编写# 我已经有了LinqToObject和LinqToXml的经验 我还拥有ADO.NET和一些已经构建的库的经验 该项目相对较小 该网站将有大约五个屏幕 数据库可能有六到七个表 可能会有25-50个活跃用户 每天的交易量可能在5-10笔左右 将存储最少的个人数据
- 我将使用VisualStudio2008SP1(.NETFramework 3.5)
- 后端将是SQL Server 2005数据库(或可能是2008)
- 代码将用C语言编写#
- 我已经有了LinqToObject和LinqToXml的经验
- 我还拥有ADO.NET和一些已经构建的库的经验
- 该项目相对较小
- 该网站将有大约五个屏幕
- 数据库可能有六到七个表
- 可能会有25-50个活跃用户
- 每天的交易量可能在5-10笔左右
- 将存储最少的个人数据
- 失败或网站被黑客攻击的后果将是最小的
数据集后,我仍然可以使用LinqToObjects
然而,SqlMetal似乎能够完美地满足我的需求。我运行一个命令,它从数据库中从头开始重新生成所有内容,我完成了。如果我保持我的数据库简单(只有表——没有存储过程、视图或函数),也许SqlMetal就是我所需要的。如果您已经知道LINQ到Xml或对象(LINQ“对象”只是“列表”),那么LINQ到Sql是非常简单的 微软并不反对Linq到Sql,他们只是建议使用EF。它不会升级 Linq到Sql几乎与EF相似。有了EF,你可以做更复杂的事情,但在基本层面上几乎是一样的(对于你有7个表的网站来说,这没有任何区别)
对于你的情况,我建议你和林克一起去。它比SP+ADO.NET更有趣、更快速。在现在使用ORM几乎是一个不错的选择。不使用它应该是例外(对我来说)。 < P>我同意Davide Vosti,但是你可能想考虑其他选项,比如(也有LINQ支持)。 EF的当前版本并不令人印象深刻——它创建了一些非常讨厌的T-SQL,需要很长时间才能执行 我们目前正在使用EF,但这是我最后一次为.NET3.5选择EF。在.NET4中,我给它多一次机会,但除非它有显著的改进,否则我将选择其他选项(LINQtoSQL不太可能是其中之一) 1-如果您已经熟悉Linq到Sql的学习曲线有多陡峭 使用其他Linq技术 我想说你已经解决了50%的学习问题,但我只是猜测,可能或多或少。LinqToSql不仅仅是Linq,还有很多其他功能 2-考虑到Linq对Sql的学习可能会有困难,是否值得投入任何时间 微软不会进一步开发吗 学习任何ORM都有好处。如果我要学习ORM,LinqToSql可能会在我的列表中是3或4。微软关于LinqToSql未来的交流充其量只是一片阴霾,他们显然正在为EntityFramework的发展付出更多的努力。微软可以随时改变主意,你必须得出自己的结论 3-理解Linq到Sql有助于我有一天理解实体框架吗 还是他们太不一样了 所有的ORM都有相似的特性,学习任何一种ORM都有助于理解其他ORM。LinqToSql确实与EntityFramework有许多相同的特性和缺点,因此它们的相似性比您预期的要多。也就是说,我建议在LinqToSql之前学习EntityFramework 4-最终,你会为我的情况推荐哪种选择 t中.NET3.5的最佳ORM