您的位置:首页 > 编程语言 > C#

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

2016-05-12 15:30 411 查看
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 简单工厂模式,接口多继承实例(三)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: