EF中执行存储过程

SqlParameter[] parms = new SqlParameter[5];
                SqlParameter parms0 = new SqlParameter("IsAll", int.Parse(parames.P1)); //生成一个参数并给参数赋值。
                SqlParameter parms1 = new SqlParameter("ForumId", int.Parse(parames.P2));
                SqlParameter parms2 = new SqlParameter("CustomerId", int.Parse(parames.P3));
                SqlParameter parms3 = new SqlParameter("PostId", int.Parse(parames.P4));
                SqlParameter parms4 = new SqlParameter("TopicId", int.Parse(parames.P5));
                parms[0] = parms0;
                parms[1] = parms1;
                parms[2] = parms2;
                parms[3] = parms3;
                parms[4] = parms4;
                var postdatalist = _addressRepository.SqlQuery<Post>("exec GetPostList @IsAll,@ForumId,@CustomerId,@PostId,@TopicId ", parms);
                int pageindex = string.IsNullOrEmpty(parames.P9) ? 0 : int.Parse(parames.P9);
                int pagesize = string.IsNullOrEmpty(parames.P10) ? 0 : int.Parse(parames.P10);
                PagedList<Post> pageddata = new PagedList<Post>(postdatalist.OrderBy(p => p.CreatedOnUtc).ToList(), int.Parse(parames.P9), int.Parse(parames.P10));
                result.success = "true";
                result.retcode = RetCode.successKey;
                result.data = JsonHelper.ListToJson<Post>(pageddata);
                return result;

这里,执行存储过程返回的是一个list()集合数据,那天魔瓦网络公司的面试时问我如果执行存储过程返回的数据你如何转成实体对象,是另外新建model,cs类么?我一时没回答出来,他说如果是那样的话是不好的哦。这里的这个pagelist类是一个nopcommerce写的一个类型,他继承与list<T>类。主要作用是对list数据进行分类。以后需要用到可以效仿。另外要多学习存储过程的编写。

原文地址:https://www.cnblogs.com/visibleisfalse/p/3794867.html