70 lines
1.9 KiB
C#
70 lines
1.9 KiB
C#
using JNPF.DependencyInjection;
|
|
using SqlSugar;
|
|
using Tnb.Vengine.Domain;
|
|
|
|
namespace Tnb.Vengine.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 GetVmodelLink(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, VmListInput 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);
|
|
} |