private static DbInstance CreateDbInstance(DbInstanceType type, Database database, DbTransaction transaction) { if (type == DbInstanceType.Default) { return(new DbInstance(database, transaction)); } return(new AutoParameterDbInstance(database, transaction)); }
private static DbInstance GetDbInstance(DbInstanceType type, string databaseName) { if (string.IsNullOrEmpty(databaseName)) { throw new ArgumentNullException("databaseName", "数据库名称不能为空。"); } string key = GenerateKey(databaseName); if (ServiceContext.Current.Contains(key)) { DataAccessContext context = (DataAccessContext)ServiceContext.Current[key]; return(CreateDbInstance(type, context.Database, context.Transaction)); } return(CreateDbInstance(type, GetDatabase(databaseName), null)); }