本文共 981 字,大约阅读时间需要 3 分钟。
/// <summary>
/// 业务层抽象基类 /// </summary> public abstract class ServiceBase { /// <summary> /// 通用消息 /// </summary> protected VMessage VMessage { get; set; } /// <summary> /// 数据层统一操作对象实例 /// 避免派生类直接new对象 /// </summary> /// <typeparam name="TEntity"></typeparam> /// <returns></returns> protected IRepository<TEntity> LoadRepository<TEntity>() where TEntity : class,Entity.IEntity { return new Repository<TEntity>(); }}
子类在完成一个业务功能时,就变成了这样:
public Entity.VMessage AddCommon_BasePropValue(Common_BasePropValue entity)
{ VMessage = new Entity.VMessage(); try { if (Base.LoadRepository<Common_BasePropValue>().GetModel().Where(i => i.Name == entity.Name).Count() > 0) { VMessage.IsComplete = false; VMessage.AddItem("名称重复"); } else { base.LoadRepository<Common_BasePropValue>().Insert(entity); VMessage.IsComplete = true; } } catch (Exception ex) { VMessage.AddItem(ex.Message); } return VMessage; }这样不需要在具体业务类中生成新对象,直接使用基类的方法就可以了,结构清晰,操作统一性好。
本文转自博客园张占岭(仓储大叔)的博客,原文链接:,如需转载请自行联系原博主。