src/Datory/DatabaseImpl/MySqlImpl.cs
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using Dapper;
using MySql.Data.MySqlClient;
using SqlKata.Compilers;
using Datory.Utils;
[assembly: InternalsVisibleTo("Datory.Tests")]
namespace Datory.DatabaseImpl
{
internal class MySqlImpl : IDatabaseImpl
{
private static IDatabaseImpl _instance;
public static IDatabaseImpl Instance
{
get
{
if (_instance != null) return _instance;
_instance = new MySqlImpl();
return _instance;
}
}
public DbConnection GetConnection(string connectionString)
{
return new MySqlConnection(connectionString);
}
public Compiler GetCompiler(string connectionString)
{
return new MySqlCompiler();
}
public bool IsUseLegacyPagination(string connectionString)
{
return false;
}
public async Task<List<string>> GetDatabaseNamesAsync(string connectionString)
{
var databaseNames = new List<string>();
using (var connection = GetConnection(connectionString))
{
using var rdr = await connection.ExecuteReaderAsync("show databases");
while (rdr.Read())
{
var dbName = rdr.GetString(0);
if (dbName == null) continue;
if (dbName != "information_schema" &&
dbName != "mysql" &&
dbName != "performance_schema" &&
dbName != "sakila" &&
dbName != "sys" &&
dbName != "world")
后面还有 185 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
