/////////////////////////////////////////////////////////////////////////////////
// 宁波拓通e智造平台 ToTong Next Builder //
// https://git.tuotong-tech.com/tnb/tnb.server //
/////////////////////////////////////////////////////////////////////////////////
using JNPF.DependencyInjection;
using SqlSugar;
using Tnb.VmodelEngine;
namespace Tnb.DataAccess;
///
///
///
public interface IDataAccess : ITransient
{
///
/// 获取 SqlSugar
///
///
///
ISqlSugarClient GetSqlSugar(string? dbCode = null);
///
/// 获取DbLink
///
///
///
VmodelLink GetVmLink(string dbCode);
///
/// 获取 Vmodel, 为空时不抛异常
///
Task TryGetVmodelAsync(string id, bool loadNavigate = false);
///
/// 获取 Vmodel, 为空时抛异常
///
Task GetVmodelAsync(string id, bool loadNavigate = false);
///
/// 获取 Vmodel, 为空时不抛异常
///
Task TryGetVmodelAsync(string area, string vmCode, bool loadNavigate = false);
///
/// 获取 Vmodel, 为空时抛异常
///
Task GetVmodelAsync(string area, string vmCode, bool loadNavigate = false);
//Task QueryDataAsync(VmBaseInput input);
///
/// 查询数据 默认方法
///
Task QueryDataAsync(Vmodel vm, VmQueryInput input);
//Task CreateDataAsync(VmCreateInput input);
///
/// 新增数据 默认方法
///
Task CreateDataAsync(Vmodel vm, VmCreateInput input);
//Task UpdateDataAsync(VmUpdateInput input);
///
/// 更新数据 默认方法
///
Task UpdateDataAsync(Vmodel vm, VmUpdateInput input);
//Task DeleteDataAsync(VmDeleteInput input);
///
/// 删除数据 默认方法
///
Task DeleteDataAsync(Vmodel vm, VmDeleteInput input);
}