gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 08:19:45 26 4
gpt4 key购买 nike

几年后,我重新开始了 .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 适合什么?

  • 既然我们有这么多的选择,如果你可以为一个项目选择这些技术中的任何一种,你会选择哪一种,为什么?

    最佳答案

    最初的回应(主要是关于 LINQ 的东西):

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

  • 要回答你的最后一个问题,我对 NHibernate 或其他人的了解还不够多,但我很乐意使用 LINQ to SQL 进行基本数据库访问,但我已经开始研究 LINQ to Entities 以获得更复杂的东西而不是其他的——主要是因为我喜欢漂亮的照片。

    关于.net - 如果您可以使用任何 .NET DAL 技术,您会选择什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/472426/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com