在UI层中使用DataTable而不是实体

本文关键字:实体 DataTable UI | 更新日期: 2023-09-27 17:58:02

我的基本3层应用程序由一个DAL组成,它与我的BLL对话,BLL与UI交互。。

到目前为止,我一直使用老式的方式来构建带有数据读取器和更新/插入命令的DAL。这很有效,因为我的大部分需求都在哪里阅读。

现在我需要越来越多的更新数据库信息和检查一些基本的并发性。我正在考虑使用数据表使我的UI在数据库表中编辑和持久化数据时更加灵活。

现在,我的UI中有一个List<InventoryItem>,每当我需要时,我都会将此列表发送到BLL->DAL以进行更改。

在我看来,我认为我必须让我的BLL将数据表返回到UI,以使我的UI更容易响应更新?

我的主要问题是如何将三层逻辑(UI-BLL-DAL)与DataAdapter/DataSets/DataTables模型的优势逻辑绑定。。。

在UI层中使用DataTable而不是实体

一开始这似乎很合适,但这样做只会破坏分层体系结构。通过将类型化数据集(datatable)携带到UI,您只需启用UI即可直接使用CRUD操作。那么就不需要使用其他层了。

这只会破坏抽象。

使用N层体系结构是一种选择,是否使用它取决于您的需求。也许,首先你需要决定你是否真的需要它;除非你能想出一个正确的推理方法,否则你不需要使用它。