如果Oracle CodeFirst模式下要用EFProviderWrapperToolkit,那么会报告以下错误:
提供程序不支持 DatabaseExists。
这个错误是因为Oracle CodeFirst是一个Fake CodeFirst,它其实不支持根据实体类生成数据表的。
换言之,我们的CodeFirst只是把Table与Entity做了一次手工映射。
因为Oracle的数据库是已经存在了的,因此没有必要做数据库存在与否的检测。
况且ODP.NET也不支持,因此当调用EFProviderWrapperToolkit的DbProviderServicesBase.DbDatabaseExists方法时,ODP.NET就报错了。
解决办法就是把DbDatabaseExists方法改为无条件返回true。