.net - 类型化数据集 : a Good choice or Bad - Why one should use or not use Typed datasets in their applications?

标签 .net database strongly-typed-dataset

自从 .net 2.0 发布以来,这个问题已经被讨论了很多次。许多开发人员不赞成类型化数据集,也很少有人实际使用它们。

问题的目的是确定为什么应该在其应用程序中使用或不使用类型化数据集的原因。

就我而言,我个人长期以来一直在使用它们。我没有将它们用作仅独立的数据访问选项,而是将它们用作数据模型,可以将所有 SQL 查询与其一起抽象存储。

所以对我来说使用类型化数据集的主要原因是..

1.) 与传统数据集不同的是完全类型化的数据模型。

2.) 从代码中提取所有查询。

What are those reasons why you may prefer or not using the Typed Datasets ? And what are the experts' advices on this topic from their experiences so far ?

最佳答案

出于以下几个原因,我倾向于不使用它们:

它们引入了另一个级别的状态进行管理。

系统的关系模型并不总是直接映射到对象模型。保持它们的解耦让我可以独立于对象模型优化关系模型。

我同意在整个代码中散布 sql 查询,尽管我可能在这方面属于少数。 SQL 非常简单,在大多数语言中都有很好的绑定(bind),并且通常以编程方式构建(我在这里不是在谈论 sql 注入(inject),我总是在可以使用它们的地方使用绑定(bind)变量)。

我认为数据集的主要目的是作为支持表单设计器中拖放数据访问的一种方式。我喜欢表设计器和查询设计器,但发现数据集的额外开销不值得付出努力。

关于.net - 类型化数据集 : a Good choice or Bad - Why one should use or not use Typed datasets in their applications?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/859232/

相关文章:

mysql - 具有唯一键约束的数据库中的重复行

c# - 每个数据库提供程序具有一组 TableAdapter 的强类型数据集?

c# - 如何找到违反约束的列?

.net - Microsoft.Practices.ServiceLocation 从哪里来?

Android 检查 firebase 连接

c# - 这段代码怎么可能: "ArgumentOutOfRangeException: startIndex cannot be larger than length of string"?

ruby-on-rails - rake db :migrate db:reset and db:schema:load之间的区别

c# - 我可以在不使用设计器的情况下创建数据集 XSD 吗?

c++ - F# 代码优化还是真的那么慢?

c# - SGML 解析器 .NET 建议