对于一些复杂的Sql数据处理,可写成Procedure,在Service中使用
var item = Context.SqlQuery<T>("存储过程名称", CommandType.StoredProcedure, pars).ToList();
pars要点
1.输入参数(一一对应)
DbParam[] pars = new DbParam[]
{
DbParam.Create("@Para1", Para1),
DbParam.Create("@Para2", Para2),
};
2.含输出参数(例如@depId为输出参数)
pars[1].Size = 32;
pars[1].DbType = DbType.Int32;
pars[1].Direction = ParamDirection.Output;
Note
1.存储过程返回的值会写入pars[1].Value中
2.执行存储过程的代码中.ToList()不能少,否则即使有值也取不到。
2.
var groupByItems = TaskMemberSource.GroupBy(g => g.ProRole).ToList();
//多个字段的Group
var groupByItems1 = TaskMemberSource.GroupBy(g => new { g.ProRole,g.PMEmpID}).ToList();
groupByItems1.ForEach(f => {
ComComboxModel temp = new ComComboxModel();
temp.ID = groupByItems.IndexOf(f);
temp.Name = f.Key.;
proRoles.Add(temp);
});