XPO自然是支持MySQL的,只需要在项目里添加对MySql.Data的DLL(从MySQL官网下载Connector/Net可得)和DevExpress.Xpo.v9.2.Providers的DLL引用,并且在项目的入口点构造XpoDataLayer时指定使用MySQL即可。
然而测试时遇到问题。手里的9.2.10版本的XPO,在编译时使用的是5.2.5.0版本的MySQL,而下载到的最新的是6.2.2.0,不能用。
这时我们可以修改并重新编译XPO的源代码,但我想没人高兴这么做。
还有个简单的办法,即在Config文件中添加如下代码:
Config
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral"/>
<bindingRedirect oldVersion="5.2.5.0" newVersion="6.2.2.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral"/>
<bindingRedirect oldVersion="5.2.5.0" newVersion="6.2.2.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
指定好oldVersion和newVersion即可。