我有两个具有完全相同模式的xsd文件。第一个是从SQL连接生成的,另一个是由数据集设计器从FoxPro OleDb连接生成的。我不能使用相同的XSD来生成我的表适配器和表,因为SQL和OleDb提供程序生成不同的类型。我不能使用EF,因为它不支持FoxPro OleDb,或者至少不支持官方。
我还遇到这样的问题:SQL xsd文件在大写中具有表,字段和表适配器名称,而小写的FoxPro OleDb连接。这就产生了一种情况,即我无法从基类型中强制转换它们。
这个问题是否有合适的解决方法,或者我的DAL层必须有两组代码?我不想为所有这些表重写CRUD操作。
答案 0 :(得分:0)
为了澄清,您是否正在连接两台“服务器”以获取数据?您是否尝试将数据从一台服务器复制到另一台服务器?您总是可以从每个结果中查询相同的列名和可比较的数据类型(text vs char,整数在两者中工作,memo vs blob等)。
我实际上已经根据INTERFACE类型编写了一个数据查询包装器对象,每个数据库连接执行一次查询和更新,然后从相应的单个表中进行子类化,因此大部分的grunt工作都完成了一次。
根据接口,我指的是IDbConnection(SQLConnection vs OleDbConnection),IDbCommand(SQLCommand vs OleDbCommand)等,并且在我连接到SQL,MySQL,Access,SQLite和Visual Foxpro数据库方面效果很好。
所有这些,您使用XSD文件的内容/方式。稍微澄清一下,我可能会提供更多帮助。