【发布时间】:2023-03-29 16:21:01
【问题描述】:
这更像是一个概念问题。
我有一个名为“RawReader”的基类。
它为类建立框架以继承它并在特定数据系统中读取。
例如,我想要一个应用程序以已知格式的 FoxPro 数据库、CSV 文件或 SQL 数据库(目前还有大约 8 种格式)读取,然后通过 Web 服务传输它并从中创建一个 SQL 数据库.
我可以使用 CSV、FoxPro、Access、Excel 等来处理一切......很简单。
继承 RawReader 的类,如 RawCSV、RawFoxPro、RawAccess 都返回一个包含数据集作为成员之一的结构。数据集包含来自原始系统的数据。 Web 服务接收这个结构并创建 sql 表并将数据加载到其中。这已经被编码并且效果很好。
我现在的问题是用 SQL 阅读。显然,我可以遵循相同的路径,将远程 SQL 数据库读入数据集,如上所述传输数据集等......我的“问题”出现在我觉得将 SQL 数据库传输到数据集,通过 Web 服务传输它,然后尝试以编程方式重新创建 SQL 数据库。我觉得我从 SQL 数据库中丢失了很多细粒度的细节(字段大小、扩展信息等)。在实践中,创建数据库的备份、将其转换为流对象并传输备份似乎更容易转到网络服务。但这就是问题所在……
由于所有类都继承自基类,因此它们被设置为返回一个 DataSet。 hack-ish 方法是将一个流对象添加到返回结构,并在我的 web 服务中添加其他代码来为 SQL 源创建一个特殊情况,但我试图避免这种情况。
对处理此类事情的“正确”方式有什么想法吗?
【问题讨论】:
标签: .net vb.net web-services architecture