internal static string DbTypeToTypeName(SQLiteConnection connection, DbType dbType, SQLiteConnectionFlags flags) { SQLiteDbTypeMapping sQLiteDbTypeMapping; SQLiteDbTypeMapping sQLiteDbTypeMapping1; string str; string defaultTypeName = null; if (connection != null) { flags |= connection.Flags; if ((flags & SQLiteConnectionFlags.UseConnectionTypes) == SQLiteConnectionFlags.UseConnectionTypes) { SQLiteDbTypeMap sQLiteDbTypeMap = connection._typeNames; if (sQLiteDbTypeMap != null && sQLiteDbTypeMap.TryGetValue(dbType, out sQLiteDbTypeMapping)) { return(sQLiteDbTypeMapping.typeName); } } defaultTypeName = connection.DefaultTypeName; } if ((flags & SQLiteConnectionFlags.NoGlobalTypes) == SQLiteConnectionFlags.NoGlobalTypes) { if (defaultTypeName != null) { return(defaultTypeName); } defaultTypeName = SQLiteConvert.GetDefaultTypeName(connection); SQLiteConvert.DefaultTypeNameWarning(dbType, flags, defaultTypeName); return(defaultTypeName); } lock (SQLiteConvert._syncRoot) { if (SQLiteConvert._typeNames == null) { SQLiteConvert._typeNames = SQLiteConvert.GetSQLiteDbTypeMap(); } if (!SQLiteConvert._typeNames.TryGetValue(dbType, out sQLiteDbTypeMapping1)) { if (defaultTypeName != null) { return(defaultTypeName); } defaultTypeName = SQLiteConvert.GetDefaultTypeName(connection); SQLiteConvert.DefaultTypeNameWarning(dbType, flags, defaultTypeName); return(defaultTypeName); } else { str = sQLiteDbTypeMapping1.typeName; } } return(str); }