2011-11-24 71 views
0

我有两个具有相同确切架构的xsd文件。第一个是由SQL连接生成的,另一个是由数据集设计器从FoxPro OleDb连接生成的。由于SQL和OleDb提供程序生成不同的类型,因此我无法使用相同的XSD来生成我的表适配器和表。我不能使用EF,因为它不支持FoxPro OleDb,或者至少不是正式的。为什么数据集设计者改变我的模式对象的情况?

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

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

回答

0

为了澄清,你是否连接到两个“服务器”的数据?您是否试图将数据从一台服务器复制到另一台?您可以始终将每个结果的查询放在相同的列名称和可比较的数据类型中(text和char,整数在两者中都可用,备忘录和blob等)。

我已经写了一个基于INTERFACE类型的数据查询包装器对象,每个数据库连接执行一次查询和更新,然后从相应的单独表中进行子类化,所以大部分的咕噜工作都是一次完成的。根据接口,我指的是IDbConnection(SQLConnection vs OleDbConnection),IDbCommand(SQLCommand vs OleDbCommand)等等,并且对于我连接到SQL,MySQL,Access,SQLite和Visual Foxpro数据库。

所有的说法,你使用你的XSD文件是什么/如何。稍微澄清一点,我可能会提供更多的帮助。

+0

感谢您的帮助。服务器以两种形式存在,有一种使用FoxPro的便宜版本和使用SqlServer的昂贵版本。我想用基本的CRUD使用相同的DataSet连接到它们中的任何一个,但只读访问将会很好。我正在使用XSD文件来生成表格和tableAdapter。 –

相关问题