数据集和 ASP.Net 站点

本文关键字:站点 Net ASP 数据集 | 更新日期: 2023-09-27 18:34:44

今天早上,我和我的一位同事讨论了一些 ASP.Net 话题。由于我习惯了桌面应用程序,因此我不知道在 ASP.Net 中使用数据集与数据库的连接被认为是不好的风格。我的同事无法向我解释为什么它被认为是糟糕的风格(他的学校老师总是这么说(,所以我想知道这里是否有人可以解释数据集的问题是什么。我认为数据集是一个明智的选择,因为它们实现了IXmlSerializable和ISerializable,并且对于API或其他东西很方便。我认为由于尺寸的原因,它被认为是糟糕的风格,但正如我提到的,我不是这个主题领域的专家。

我之前读过这篇文章: C# 数据集与否?但它并没有真正向我澄清为什么有人会说数据集对 ASP.Net 来说是不好的风格。我不想宽泛,所以我在这里使用一个假设的案例

所以这里有一个假设的情况:

我的数据库是MS SQL Server Express 2012,我使用的是.Net Framework 4.0。假设我有一个在线商店,有 6000 名客户和大约 46000 件商品。如果我想在 ASP.Net 和 C# 中实现这一点,最好的选择是什么。我应该使用数据集,POCO还是DataTables是在网上商店使用我的数据的最佳选择?也许有一种标准的方法可以做到这一点,这被认为是要走的路。

如前所述,我没有实际的问题案例,我只是好奇。

数据集和 ASP.Net 站点

在过去的十年中,大多数人都使用诸如EntityFramework或NHibernate之类的ORM来绕过使用ADO编写相对低级代码的需要。NET的DataSetDataTable .它也不传达业务意图(尽管您可能会争辩说这在应用程序的这一级别并不重要(。基本上,您不需要编写代码来填充数据集,因为现在还有许多其他选项可以为您完成工作,而无需一遍又一遍地编写类似的代码。也就是说,尽管远非完美的解决方案,但在大多数情况下,中小型项目DataSet工作正常,ORM 也是如此。在您提供的假设情况下,您可能仍然可以使用 DataSet 或 ORM,而不会有太多问题。

当您想在网站变大或流量激增时扩展网站时,就会出现问题。从您在问题中提到的内容来看,听起来您仍在使用"经典"N 层架构。在过去的几年里,已经开发了许多技术,这些技术试图与Web一起工作,而不是我们希望Web的工作方式。查看文档数据库(MongoDB,RavenDB,CouchDB(,微服务体系结构和CQRS(带事件溯源(。没有灵丹妙药(请原谅陈词滥调(,但至少你看到有许多选择与不到十年前被认为是理想的架构不同。