一行代码添加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);

 

posted on 2016-06-30 22:56  ZKCloud  阅读(2502)  评论(0编辑  收藏  举报