namespace Kean.Infrastructure.Database.Repository
{
///
/// 表示数据库连接
///
public interface IDatabase
{
///
/// 获取数据库连接上下文
///
IDbContext Context { get; }
///
/// 保存数据
///
void Save();
///
/// 刷新数据
///
void Flush();
///
/// 指定对象目标
///
/// 数据库对象映射的实体类型
ISchema From()
where T : IEntity;
///
/// 指定对象目标
///
/// 数据库对象映射的实体类型
/// 对象名
ISchema From(string name = null)
where T : IEntity;
///
/// 指定对象目标
///
/// 数据库对象映射的实体类型1
/// 数据库对象映射的实体类型2
ISchema From()
where T1 : IEntity
where T2 : IEntity;
///
/// 指定对象目标
///
/// 数据库对象映射的实体类型1
/// 数据库对象映射的实体类型2
/// 对象名1
/// 对象名2
ISchema From(string name1 = null, string name2 = null)
where T1 : IEntity
where T2 : IEntity;
///
/// 指定对象目标
///
/// 数据库对象映射的实体类型1
/// 数据库对象映射的实体类型2
/// 数据库对象映射的实体类型3
ISchema From()
where T1 : IEntity
where T2 : IEntity
where T3 : IEntity;
///
/// 指定对象目标
///
/// 数据库对象映射的实体类型1
/// 数据库对象映射的实体类型2
/// 数据库对象映射的实体类型3
/// 对象名1
/// 对象名2
/// 对象名3
ISchema From(string name1 = null, string name2 = null, string name3 = null)
where T1 : IEntity
where T2 : IEntity
where T3 : IEntity;
}
}