CSFramework.EF 数据库框架支持Oracle+Schema
CSFramework.EF 数据库框架支持Oracle+Schema
什么是Schema?
Oracle数据库中的Schema是一个数据库用户的命名空间,通常包括一个用户和属于该用户的数据库对象、表、视图、索引、同义词、序列、过程、函数、包、触发器等。
在Oracle中,Schema和用户是一一对应的,一个用户对应一个Schema,反之亦然。
Schema的主要作用是用于组织和管理数据库对象,通过Schema可以更加有效地对数据库对象进行分组管理,提高数据库的性能和运行效率。
DatabaseFactory工厂
增加schema参数。
C# 全选
/// <summary>
/// 创建数据库实例
/// </summary>
/// <param name="dbType">数据库类型</param>
/// <param name="connectionString">连接字符串</param>
/// <param name="schema">架构</param>
/// <returns></returns>
public static IDatabase GetDatabase(DatabaseType dbType, string connectionString, string schema = "")
{
}
CSFramework.EF数据库框架内Schema作用
通过Schema参数,可以操作指定用户架构的数据。
C# 全选
public override int RemoveAll(string tableName)
{
var schema = String.IsNullOrEmpty(this.Schema) ? "" : this.Schema + ".";
//参考:DELETE FROM "schema"."tb_MyUser"
var sql = $"DELETE FROM {schema}{FormatTableName(tableName)}";
return this.ExecuteSql(sql);
}
通过Schema参数,可以筛选系统表的元数据(meta data)。
C# 全选
public override List<MetaTableNames> meta_GetTableNames(string dbName = "")
{
String sql;
if (String.IsNullOrEmpty(this.Schema))
sql = $"SELECT TABLE_NAME FROM user_tables ORDER BY table_name";
else
sql = $"SELECT TABLE_NAME FROM all_tables WHERE OWNER='{this.Schema}' ORDER BY table_name";
}
Oracle数据库元数据(meta data)接口
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
CSFramework.EF C/S框架网