using FreeSql.DatabaseModel;
using System;
using System.Collections.Generic;
namespace FreeSql
{
public interface IDbFirst
{
///
/// 获取所有数据库
///
///
List GetDatabases();
///
/// 获取指定数据库的表信息,包括表、列详情、主键、唯一键、索引、外键、备注
///
///
///
List GetTablesByDatabase(params string[] database);
///
/// 获取指定单表信息,包括列详情、主键、唯一键、索引、备注
///
/// 表名,如:dbo.table1
/// 是否忽略大小写
///
DbTableInfo GetTableByName(string name, bool ignoreCase = true);
///
/// 判断表是否存在
///
/// 表名,如:dbo.table1
/// 是否忽略大小写
///
bool ExistsTable(string name, bool ignoreCase = true);
///
/// 获取数据库枚举类型int值
///
///
///
int GetDbType(DbColumnInfo column);
///
/// 获取c#转换,(int)、(long)
///
///
///
string GetCsConvert(DbColumnInfo column);
///
/// 获取c#值
///
///
///
string GetCsTypeValue(DbColumnInfo column);
///
/// 获取c#类型,int、long
///
///
///
string GetCsType(DbColumnInfo column);
///
/// 获取c#类型对象
///
///
///
Type GetCsTypeInfo(DbColumnInfo column);
///
/// 获取ado.net读取方法, GetBoolean、GetInt64
///
///
///
string GetDataReaderMethod(DbColumnInfo column);
///
/// 序列化
///
///
///
string GetCsStringify(DbColumnInfo column);
///
/// 反序列化
///
///
///
string GetCsParse(DbColumnInfo column);
///
/// 获取数据库枚举类型,适用 PostgreSQL
///
///
///
List GetEnumsByDatabase(params string[] database);
}
}