如果Oracle CodeFirst模式下要用EFProviderWrapperToolkit,那么会报告以下错误:

提供程序不支持 DatabaseExists。

这个错误是因为Oracle CodeFirst是一个Fake CodeFirst,它其实不支持根据实体类生成数据表的。

换言之,我们的CodeFirst只是把Table与Entity做了一次手工映射。

因为Oracle的数据库是已经存在了的,因此没有必要做数据库存在与否的检测。

况且ODP.NET也不支持,因此当调用EFProviderWrapperToolkit的DbProviderServicesBase.DbDatabaseExists方法时,ODP.NET就报错了。

解决办法就是把DbDatabaseExists方法改为无条件返回true。

04-23 17:22