zoukankan      html  css  js  c++  java
  • 一行代码添加GetList、GetSingle、Add、等数据库操作方法

    常见的服务接口只需要继承基类就可以使用了

    引用如下:

    public interface IThemePageService : IDynamicService<ThemePage> {
     }

    就可以使用 上面的任何方法了

    Resolve<IThemeConfigService>().GetList(r=>r.AppName=="User")

    一、获取当条纪录 T GetSingle(Expression<Func<T, bool>> predicate) 
      
    其中predicate为lamad表达式,可以根据任何条件获取任何值

    var user=GetSingle(r=>r.UserName==“zhongku”)  //根据用户名获取用户
    var user=GetSingle(r=>r.Id==15) //根据用户ID获取用户

    二、获取列表纪录  IEnumerable<T> GetList(Expression<Func<T, bool>> predicate = null, Expression<Func<T, bool>> sortOrder = null);

     var list= GetList();

    三、获取值 GetValue

    定义

    Object GetValue(Expression<Func<T, bool>> predicate,Func<T, object> selector);

    示列一:获取用户名

     var user = Resolve<IUserService>().GetValue(r => r.Id== "12", r => new User { UserName = r.UserName });
     var name = user.ToClass<User>().UserName;

    示列一:获取用户名列表

     四、新增数据 Add

    Resolve<IWidgetService>().Add(widgetInFile);

    五、更新数据 Update

    Resolve<IWidgetService>().Update(widgetInFile);

    六、新增或更新数据AddOrUpdate
    定义:ServiceResult AddOrUpdate(T model, Expression<Func<T, bool>> predicate);

    其中Lamda表达式predicate为真的时候,更新数据,否则新增数据

     Resolve<IWidgetService>().AddOrUpdate(widgetInFile,r=>r.Key==info.Key);

     predicate 为判断条件,比如Id>0

     Resolve<IWidgetService>().AddOrUpdate(widgetInFile,config.Id>0);
    
  • 相关阅读:
    ADB server didn't ACK * failed to start daemon *
    老调重弹:年龄大了,码农何去何从(转)
    HR给应届生的黄金面试技巧
    Android自动开关机实现
    [Android实例] Android ShakeDetector(摇晃检测)教程详解
    Hadoop : MapReduce中的Shuffle和Sort分析
    获得和裁剪图片
    android bitmap compress(图片压缩)
    知识签名(signature of knowledge)
    SVN安装(eclipse)
  • 原文地址:https://www.cnblogs.com/zkcloud/p/5631519.html
Copyright © 2011-2022 走看看