ExternalAPI_NET8/Web.Core.Repository/Base/BaseRepository.cs
2026-05-21 17:23:36 +08:00

77 lines
2.0 KiB
C#

#region
using Web.Core.IRepository.Base;
using Web.Core.Repository.sugar;
#endregion
namespace Web.Core.Repository.Base;
public class BaseRepository<TEntity> : DbContext<TEntity>, IBaseRepository<TEntity> where TEntity : class, new()
{
/// <summary>
/// 写入实体数据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public async Task<long> Add(TEntity model)
{
var i = await Task.Run(() => Db.Insertable(model).ExecuteCommand());
//返回的i是long类型,这里你可以根据你的业务需要进行处理
return i;
}
/// <summary>
/// 根据ID列表删除
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public async Task<bool> DeleteByIds(object[] ids)
{
var i = await Task.Run(() => Db.Deleteable<TEntity>().In(ids).ExecuteCommand());
return i > 0;
}
/// <summary>
/// 根据ID删除
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public async Task<bool> DeleteById(object id)
{
var i = await Task.Run(() => Db.Deleteable<TEntity>().In(id).ExecuteCommand());
return i > 0;
}
/// <summary>
/// 根据ID查询一条数据
/// </summary>
/// <param name="objId"></param>
/// <returns></returns>
public async Task<TEntity> QueryByID(object objId)
{
return await Task.Run(() => Db.Queryable<TEntity>().InSingle(objId));
}
/// <summary>
/// 查询所有数据
/// </summary>
/// <param name="objId"></param>
/// <returns></returns>
public async Task<List<TEntity>> Query()
{
return await Task.Run(() => Db.Queryable<TEntity>().ToListAsync());
}
/// <summary>
/// 更新实体数据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public async Task<bool> Update(TEntity model)
{
//这种方式会以主键为条件
var i = await Task.Run(() => Db.Updateable(model).ExecuteCommand());
return i > 0;
}
}