OpenAuth.Net/OpenAuth.App/Base/BaseIntAutoGenApp.cs
yubaolee 127d86616f 增加对数据库自动生成主键的支持;
优化基础业务类结构;
2021-03-13 23:45:10 +08:00

41 lines
1.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Linq;
using Infrastructure;
using Microsoft.EntityFrameworkCore;
using OpenAuth.App.Interface;
using OpenAuth.Repository.Core;
using OpenAuth.Repository.Domain;
using OpenAuth.Repository.Interface;
namespace OpenAuth.App
{
/// <summary>
/// 数据库Id为numberic且为数据库自动生成的业务类型
/// <para>该场景通常为SqlServer的自动增长类型和Oracle自带的Sequence</para>
/// 业务层基类UnitWork用于事务操作Repository用于普通的数据库操作
/// </summary>
/// <typeparam name="T"></typeparam>
public class BaseIntAutoGenApp<T, TDbContext> :BaseApp<T,TDbContext> where T : IntAutoGenEntity where TDbContext: DbContext
{
public BaseIntAutoGenApp(IUnitWork<TDbContext> unitWork, IRepository<T,TDbContext> repository, IAuth auth) : base(unitWork, repository, auth)
{
UnitWork = unitWork;
Repository = repository;
_auth = auth;
}
/// <summary>
/// 按id批量删除
/// </summary>
/// <param name="ids"></param>
public void Delete(int[] ids)
{
Repository.Delete(u => ids.Contains(u.Id));
}
public T Get(int id)
{
return Repository.FirstOrDefault(u => u.Id == id);
}
}
}