0

我有两个具有相同确切架构的 xsd 文件。第一个是从 SQL 连接生成的,另一个是由数据集设计器从 FoxPro OleDb 连接生成的。我不能使用相同的 XSD 来生成我的表适配器和表,因为 SQL 和 OleDb 提供程序会生成不同的类型。我不能使用 EF,因为它不支持 FoxPro OleDb,或者至少不支持官方。

我还有一个问题,SQL xsd 文件的表、字段和表适配器名称为大写,FoxPro OleDb 连接为小写。这造成了一种情况,我无法欺骗它们从基本类型转换。

是否有适合此问题的解决方法,或者我的 DAL 层中是否必须有两组代码?我不想为所有这些表重写 CRUD 操作。

4

1 回答 1

0

为了澄清起见,您是否连接到两个“服务器”以获取数据?您是否正在尝试将数据从一台服务器复制到另一台服务器?您始终可以在相同的列名和可比较的数据类型(文本与字符,整数适用于两者,备忘录与 blob 等)中对每个结果进行查询。

实际上,我已经编写了一个基于 INTERFACE 类型的数据查询包装器对象,以对每个数据库连接执行一次查询和更新,然后为各个单独的表从其子类化,因此大部分繁重的工作只完成一次。

根据接口,我指的是 IDbConnection(SQLConnection 与 OleDbConnection)、IDbCommand(SQLCommand 与 OleDbCommand)等接口,在连接 SQL、MySQL、Access、SQLite 和 Visual Foxpro 数据库时效果很好。

话虽如此,您正在使用什么/如何使用您的 XSD 文件。再澄清一点,我也许可以提供更多帮助。

于 2011-12-11T16:22:50.890 回答