首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果您可以使用任何.NET DAL技术,您会选择什么?

如果您可以使用任何.NET DAL技术,您会选择什么?
EN

Stack Overflow用户
提问于 2009-01-23 10:09:40
回答 4查看 868关注 0票数 8

几年后,我又回到了.NET开发领域,现在,尤其是LINQ,您访问数据的方式已经改变,变得更加容易了。例如,在ASP.NET MVC网站上,我可以:

  • 添加项目
  • 添加LINQ类
  • 将数据库表拖到LINQ对象关系设计器上,单击“保存”。
  • 通过LINQ liners访问和处理我的数据(我在这里学到了:http://www.asp.net/learn/mvc/tutorial-11-cs.aspx)

这看起来很棒,但它有多真实?

  • 上面的LINQ场景是您在实际项目中使用的吗?还是仅仅是一种快速脚手架技术,即当您开始添加、删除数据库中的字段和表时,LINQ类是如何保持同步的?

我该如何理解这个领域里所有的新技术。

  • 亚音速在哪里合适?
  • Astoria (ADO.NET数据服务)适合哪里?
  • NHibernate适合哪里?
  • 如何使用LINQ的其他数据库(我尝试拖动对象关系设计器上的SQLite表并得到“不支持的错误”),还是LINQ仅用于Server?
  • LINQ是否像LINQ那样工作,例如,我是否可以将XML文件拖到设计器上,然后使用LINQ访问它们,还是需要为此编写自己的代码?
  • LINQ到实体的工作方式是否类似LINQ,即自动生成的类,但只是有更多的选项?
  • 既然我们有了LINQ,ADO.NET及其DataTables和DataSets是否是一项古老的技术?LINQto-ADO.NET有意义吗?
  • Azure在你根本没有RDBMS的地方适合什么?
  • 当您的UI只是将RESTfully与WCF或与web服务对话时,ESB适合哪里呢?

现在我们有这么多的选择,如果您可以为项目选择这些技术中的任何一种,那么您会选择哪种技术,为什么呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-01-23 10:35:13

初步答复(主要是关于LINQ的内容):

  • LINQ是您可以在实际项目中使用的东西;我已经完成了。当您右键单击设计图面并选择“查看代码”时,我们倾向于将所有数据访问代码放在部分类中,而不是分散为一行代码。
  • 使用LINQ,如果修改数据库,需要删除和重新添加表--这有点限制,实体框架可以“从数据库中更新模型”来自动添加/删除这些列。
  • 它可能应该被称为它直接绑定到Server。如果您想与其他数据源使用类似的工具,您可以查看Entity -但是它目前有其他限制-- LINQ就像任何概念的证明一样,都可以证明这是可行的。
  • ADO.NET数据服务为您提供了一个基于REST的ADO.NET对象接口,因此您可以调用简单的you服务来检索数据,而不必编写这些服务。
  • 不,没有LINQ的设计图面--我想有人可以用XSD做一些事情,这会很有趣;)
  • 您可以将Azure看作是“云中的操作系统”,它有一个用于存储的数据库,尽管正如您所述,它不是关系型的,也没有连接,但是您仍然要查询它的结果。

为了回答你的最后一个问题,我对NHibernate或其他人的了解还不够,我很乐意使用LINQ进行基本的数据库访问,但我已经开始研究LINQ实体的更复杂的内容,而不是其他内容--主要是因为我喜欢漂亮的图片。

票数 4
EN

Stack Overflow用户

发布于 2009-01-23 10:25:13

对于我们正在开始的一个新项目,我不得不回答相同的问题,在比较了我们在LLBLGen上决定的备选方案之后,因为:

  • 它比实体框架更成熟
  • 它支持Linq查询。
  • 它正在由几个专门的开发人员积极开发。
  • 它很便宜
  • 支持真是太棒了

ps。我应该提到的是,我是,而不是,隶属于llblgen和/或解决方案设计。

票数 1
EN

Stack Overflow用户

发布于 2009-05-07 20:25:33

关于 SQLite :我已经成功地使用dbLinq构建了到SQLite数据库的LINQ查询。它还处于初级阶段,所以需要修复生成的类中的一些东西,但它满足了我的需要。它会的,我猜85%的事情是LinqToSql会做的。而且项目中有大量的单元测试来告诉您他们所知道的失败。

dbLinq支持许多其他数据库(MySQL、PostgreSQL、Firebird)。除了SQLite,我没有用它做任何其他的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/472426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档