C# EF CodeFirst简单工厂模式,接口多继承实例

1.基层接口,定义基本访问方法

/// <summary>
/// 基础访问接口,使用泛型
/// </summary>
public interface IBaseAbstract<T> where T : class
{
    #region 基础访问
    /// <summary>
    /// 获取表达式树
    /// </summary>
    /// <returns></returns>
    DbSet<T> GetDbSet();
    /// <summary>
    /// 获取对象
    /// </summary>
    /// <param name="RecordID">主键ID</param>
    /// <returns></returns>
    T GetModel(int RecordID);
    /// <summary>
    /// 添加对象
    /// </summary>
    /// <param name="model">对象</param>
    /// <returns></returns>
    bool Add(T model);
    #endregion
}

2.扩展接口,定义扩展方法

public interface IDencryptRecord : IBaseAbstract<DencryptRecord>
{
    #region 扩展接口
    /// <summary>
    /// 添加32位加密记录
    /// </summary>
    /// <param name="UpperCase32">32位密文</param>
    /// <param name="info">客户端信息</param>
    /// <returns></returns>
    bool Add_Upper32(string UpperCase32, ClientInfo info);
    #endregion
}

3.方法实现类

internal class DencryptRecordOperate : BaseOperate, IDencryptRecord
{
    #region 基础访问
    /// <summary>
    /// 获取表达式树
    /// </summary>
    /// <returns></returns>
    public DbSet<DencryptRecord> GetDbSet()
    {
        return Context.DencryptRecords;
    }
    /// <summary>
    /// 获取对象
    /// </summary>
    /// <param name="RecordID">主键ID</param>
    /// <returns></returns>
    public DencryptRecord GetModel(int RecordID)
    {
        return GetDbSet().Find(RecordID);
    }
    /// <summary>
    /// 添加对象
    /// </summary>
    /// <param name="model">对象</param>
    /// <returns></returns>
    public bool Add(DencryptRecord model)
    {
        if (IsValided(model) == false)
            return false;
        try
        {
            GetDbSet().Add(model);
            return Save() > 0;
        }
        catch (Exception ex)
        {
            return AddLog(ex);
        }
    }
    #endregion
    #region 扩展接口
    /// <summary>
    /// 添加32位加密记录
    /// </summary>
    /// <param name="UpperCase32">32位密文</param>
    /// <param name="info">客户端信息</param>
    /// <returns></returns>
    public bool Add_Upper32(string UpperCase32, ClientInfo info)
    {
        //隐藏
        return true;
    }
    #endregion
}

更多参考:

C# EF CodeFirst简单工厂模式,接口多继承实例(二)

C# EF Core 简单工厂模式,接口多继承实例(三)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值