几年后我又回到了.NET开发阶段,现在看来,特别是对于LINQ,您访问数据的方式已经改变并变得更加容易。例如,在ASP.NET MVC网站中,我可以:
这看起来很棒,但它是如何真实世界的呢?
我如何理解这个领域的所有新技术,例如
LINQ-to-Entities的工作方式是LINQ-to-SQL,即自动生成的类,但只有更多的选项?
是ADO.NET,其DataTables和DataSets是一项旧技术,现在我们有LINQ吗? LINQ-to-ADO.NET有意义吗?
Azure适合您甚至不再拥有RDBMS的地方
现在我们有很多选择,如果您可以为项目选择任何这些技术,您会选择哪个以及为什么?
答案 0 :(得分:4)
初步回复(主要是关于LINQ的东西):
要回答你的最后一个问题,我对NHibernate或其他人没有足够的了解,但我很乐意使用LINQ to SQL进行基本的数据库访问,但我已经开始关注LINQ to Entities了解我的问题。更复杂的东西而不是其他东西 - 主要是因为我喜欢漂亮的图片。
答案 1 :(得分:1)
我刚刚为我们正在开始的新项目回答了同样的问题,并且在我们决定LLBLGen后我们决定的替代方案之后,因为:
PS。我应该提一下,我是llblgen和/或解决方案设计的不。
答案 2 :(得分:1)
关于 SQLite :我已成功使用dbLinq为SQLite数据库构建LINQ查询。它还处于初期阶段,因此期望必须在生成的类中修复一些内容,但它可以满足我的需求。我猜测LinqToSql会做的所有事情的85%。项目中有大量的单元测试来告诉你他们知道失败的原因。
dbLinq支持许多其他数据库(MySQL,PostgreSQL,Firebird)。我没有将它用于除SQLite之外的任何东西。
答案 3 :(得分:0)
我也使用linq2sql,效果很好。 一旦你意识到生成的类是局部的,你可以把自定义代码,字段,等等。 我几乎从生成的linq2sql类中创建了我的业务类。
一个警告:varchar(1)默认转换为char。这给了我麻烦,因为varchar(1)可以是“”而char不能......在属性窗口中简单切换到字符串就解决了这个问题。