企业库6的DAAB使用方法变了参考一篇文章
Database provider factory not set for the static DatabaseFactory
"Database provider factory not set for the static DatabaseFactory. Set a provider factory invoking the DatabaseFactory.SetProviderFactory method or by specifying custom mappings by calling the DatabaseFactory.SetDatabases method."
New Enterprise Library version 6 requires to set for factory method if we are using xml configuration files to configure application blocks. Since you are using Data Access Application Blocks, so you need to set DatabaseProviderFactory.
SetDatabaseProviderFactory is one time setting before using application block. That’s why in our sample solution I have kept this line of code into static constructor -
1
2
3
4
|
static ModelMasterDataAccess() { DatabaseFactory.SetDatabaseProviderFactory(newDatabaseProviderFactory()); } |
Another good approach is to use DataBaseProviderFactory class directly. I have commented this in our sample solution.
1
2
|
DatabaseProviderFactory factory = newDatabaseProviderFactory(); Database db = factory.Create( "ConStringAutoMilesSqlDB" ); |