不论查询单条还是多条都需要加上ToList()
public ResultDto<Manage_LedgerDto> GetPageList(Manage_LedgerRequest queryBase, Expression<Func<Manage_LedgerDto, bool>> exp) { using (var db = new WarehouseContext()) { //获取数量 var Number = queryBase.Number; var Number1 =(int) Number / 3; var Number2 = Number - Number1; //获取输入的仓库ID var StoreID = queryBase.SID; //查询抽检的数据 var query1 = db.Database.SqlQuery<Manage_LedgerDto>("select top (@number) * from Manage_Ledger where IsKey=1 and StoreID=@ID order by newid()", new SqlParameter("@number", Number1),new SqlParameter("@ID", StoreID)).ToList(); var query2 = db.Database.SqlQuery<Manage_LedgerDto>("select top (@number) * from Manage_Ledger where IsKey=0 and StoreID=@ID order by newid()", new SqlParameter("@number", Number2),new SqlParameter("@ID", StoreID)).ToList(); //插入到子表中 Bills_SpotCheckChildDto bills_SpotCheckChildDto1 = new Bills_SpotCheckChildDto(); //插入到主表中 Bills_CheckDto bills_CheckDto1 = new Bills_CheckDto(); foreach (Manage_LedgerDto manage_LedgerDto1 in query1) { bills_SpotCheckChildDto1.LocationID = manage_LedgerDto1.LocationID; bills_SpotCheckChildDto1.State = 1;//是关键设备 bills_SpotCheckChildDto1.CheckBillsCode = bills_CheckDto1.CheckCode=CJ.GenerateBillsNo();//标识 bills_CheckDto1.CreateTime = DateTime.Now; bills_CheckDto1.LastTime = DateTime.Now; bills_CheckDto1.UserID = HttpContext.Current.User.Identity.Name; bills_CheckDto1.SID = manage_LedgerDto1.StoreID; bills_CheckDto1.State = 0; bills_CheckDto1.Type = 1;//抽检 Bills_SpotCheckChildService.Add(bills_SpotCheckChildDto1); BillsCheckService.Add(bills_CheckDto1); } Bills_SpotCheckChildDto bills_SpotCheckChildDto2 = new Bills_SpotCheckChildDto(); Bills_CheckDto bills_CheckDto2 = new Bills_CheckDto(); foreach (Manage_LedgerDto manage_LedgerDto2 in query2) { bills_SpotCheckChildDto2.LocationID = manage_LedgerDto2.LocationID; bills_SpotCheckChildDto2.State = 0;//不是是关键设备 bills_SpotCheckChildDto2.CheckBillsCode = bills_CheckDto2.CheckCode = CJ.GenerateBillsNo();//标识 bills_CheckDto2.CreateTime = DateTime.Now; bills_CheckDto2.UserID = HttpContext.Current.User.Identity.Name; bills_CheckDto2.SID = manage_LedgerDto2.StoreID; bills_CheckDto2.State = 0; bills_CheckDto2.Type = 1;//抽检 Bills_SpotCheckChildService.Add(bills_SpotCheckChildDto2); BillsCheckService.Add(bills_CheckDto2); } var query = db.Database.SqlQuery<Manage_LedgerDto>("select * from Bills_Check where Type=1").ToList(); var query_count = query.Count(); var query_list = query.Skip(queryBase.Start).Take(queryBase.Length).ToList(); var dto = new ResultDto<Manage_LedgerDto> { recordsTotal = query_count, data = query_list }; return dto; } }