src/02_Data/Adapters/Data.Adapter.Sqlite/SqliteSchemaProvider.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using Dapper;
using Microsoft.Data.Sqlite;
using Mkh.Data.Abstractions.Schema;
namespace Mkh.Data.Adapter.Sqlite;
/// <summary>
/// MySql数据库架构提供器
/// </summary>
public class SqliteSchemaProvider : ISchemaProvider
{
private readonly IDbConnection _con;
public SqliteSchemaProvider(IDbConnection con)
{
_con = con;
}
public SqliteSchemaProvider(string connectionString)
{
_con = new SqliteConnection(connectionString);
}
public bool IsExistsDatabase(string database)
{
throw new Exception("Sqlite不支持该方法~");
}
public bool IsExistsTable(string database, string table)
{
var sql = $"SELECT 1 FROM sqlite_master WHERE tbl_name='{table}' AND type='table' LIMIT 1;";
return _con.ExecuteScalar<int>(sql) > 0;
}
public List<DatabaseSchema> GetDatabases()
{
throw new Exception("Sqlite不支持该方法~");
}
public DatabaseSchema GetDatabase(string database)
{
throw new Exception("Sqlite不支持该方法~");
}
public List<TableSchema> GetTables(string database)
{
var sql = "SELECT tbl_name AS [Name] FROM sqlite_master WHERE type='table';";
var tables = _con.Query<TableSchema>(sql).ToList();
foreach (var table in tables)
{
table.Columns = GetColumns(database, table.Name);
}
return tables;
}
public List<ColumnSchema> GetColumns(string database, string table)
后面还有 24 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
