几年后,我重新开始了 .NET 开发,现在看来,尤其是使用 LINQ,访问数据的方式已经改变并且变得更加容易。例如,在 ASP.NET MVC 网站中,我可以:
- 添加项目
- 添加 LINQ-to-SQL 类
- 将数据库表拖到 LINQ-to-SQL 对象关系设计器上,单击保存
- 通过 LINQ 单线访问和操作我的数据(我在这里学到:http ://www.asp.net/learn/mvc/tutorial-11-cs.aspx )
这看起来很棒,但它有多真实?
- 上面的 LINQ-to-SQL 场景是您在实际项目中使用的东西,还是只是一种快速的脚手架技术,即当您开始添加、删除数据库中的字段和表时会发生什么,LINQ-to-SQL 类如何保持同步?
我如何理解这个领域的所有新技术,例如
- 亚音速适合哪里?
- Astoria(ADO.NET 数据服务)在哪里适合?
- NHibernate 适合哪里?
- 如何将其他数据库与 LINQ-to-SQL 一起使用(我尝试在对象关系设计器上拖动 SQLite 表并得到“不支持的错误”)或者 LINQ-to-SQL 仅适用于 SQL Server?
- LINQ-to-XML 是否像 LINQ-to-SQL 一样工作,例如我可以将 XML 文件拖到设计器上,然后使用 LINQ 访问它们,还是我需要为此编写自己的代码?
LINQ-to-Entities 是否像 LINQ-to-SQL 一样工作,即自动生成的类,但只有更多选项?
既然我们有了 LINQ,ADO.NET 及其 DataTables 和 DataSets 是不是一项旧技术?LINQ-to-ADO.NET 有意义吗?
Azure 适合您甚至不再拥有 RDBMS 的地方
- 当您的 UI 只是以 REST 方式与 WCF 对话或与 Web 服务对话时,ESB 适合什么?
既然我们有这么多的选择,如果你可以为一个项目选择这些技术中的任何一种,你会选择哪一种,为什么?