Files
tnb.server/visualdev/Tnb.Vmodel/DataAccess/IDataAccess.cs

72 lines
2.3 KiB
C#

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