1
저장 프로 시저를 두 번 호출하면 각기 다른 매개 변수가있는 문제가 있으며 두 개의 개별 목록이 필요하지만 linq이 데이터를 캐싱하고 위에 오류를 표시합니다.쿼리 결과를 두 번 이상 열거 할 수 없습니다.
나는 한 TBL에 ToList()을 사용하여, 다른 하나는 데이터를 수동으로 걷는 오류 메시지 라운드 얻는 두 가지 방법이 시도
내 코드 합계를 취득하기위한CODE 아래 도시
public static List<MeterTotalConsumpRecord> GetTotalAllTimesConsumption(DateTime dtStart, DateTime dtEnd, EUtilityGroup ug, int nMeterSelectionType, int nCustomerID,
int nUserID, string strSelection, bool bClosedLocations, bool bDisposedLocations)
{
dbChildDataContext db = DBManager.ChildDataConext(nCustomerID);
db.MeterTotalConsumpRecordSet.MergeOption = System.Data.Objects.MergeOption.NoTracking;
var tbl = from t in db.GetTotalConsumptionByMeter(dtStart, dtEnd, (int) ug, nMeterSelectionType, nCustomerID, nUserID, strSelection, bClosedLocations, bDisposedLocations, 1)
select t;
List<MeterTotalConsumpRecord> objList = new List<MeterTotalConsumpRecord>();
foreach (MeterTotalConsumpRecord objRecord in tbl)
{
objList.Add(objRecord);
}
return objList;
}
public static List<MeterTotalConsumpRecord> GetTotalDayConsumption(DateTime dtStart, DateTime dtEnd, EUtilityGroup ug, int nMeterSelectionType, int nCustomerID,
int nUserID, string strSelection, bool bClosedLocations, bool bDisposedLocations)
{
dbChildDataContext db = DBManager.ChildDataConext(nCustomerID);
db.MeterTotalConsumpRecordSet.MergeOption = System.Data.Objects.MergeOption.NoTracking;
var tbl = from t in db.GetTotalConsumptionByMeter(dtStart, dtEnd, (int)ug, nMeterSelectionType, nCustomerID, nUserID, strSelection, bClosedLocations, bDisposedLocations, 3)
select t;
return tbl.ToList();
}
{
...Code for setting properties using parameters..
_P2Totals = ProfileDataService.DataService.GetTotalAllTimesConsumption(_P2StartDate, _P2EndDate, EUtilityGroup.Electricity, 1, nCustomerID, nUserID, strLocations, bIncludeClosedLocations, bIncludeDisposedLocations);
_P1Totals = ProfileDataService.DataService.GetTotalAllTimesConsumption(_StartDate, _EndDate, EUtilityGroup.Electricity, 1, nCustomerID, nUserID, strLocations,
bIncludeClosedLocations, bIncludeDisposedLocations);
PopulateLines() //This fills up a list of objects with information for my report ready for the totals to be added
PopulateTotals(_P1Totals, 1);
PopulateTotals(_P2Totals, 2);
}
두 번째로 GetTotalAllTimesConsumption에 오류가 발생합니다.
목록의 처음으로 되돌아 갈 수있는 방법이 있습니까? FirstOrDefault라는 메소드가 도움이 될지 확실하지 않습니까?
건배
바울은 점점 어떤 오류
코드 형식을 지정하십시오. –
지금 포맷했습니다. – Paul