我真的卡住如何解決這個System.Data.DataRowCollection」不包含定義‘ToList’,沒有擴展方法‘ToList’接受第一個參數
public bool DeleteVegetationZone(ref Assessment objAssessment, int VegetationZoneIDToDelete, string UserFullname, ref string ErrorMessage)
{
string RowFilter = @"VegetationZoneID=" + Convert.ToString(VegetationZoneIDToDelete);
Assessment.tblVegetationZoneRow[] VegetationZoneRows = (Assessment.tblVegetationZoneRow[])objAssessment.tblVegetationZone.Select(RowFilter);
if ((VegetationZoneRows != null) && (VegetationZoneRows.Length != 0))
{
if (VegetationZoneRows.Length == 1)
{
if (VegetationZoneRows[0].VegetationZoneID > 0)
{
VegetationZoneRows[0].UpdatedBySystemUser = UserFullname;
VegetationZoneRows[0].SaveType = (int)EnumCollection.SaveType.RemoveOnly;
}
else
{
VegetationZoneRows[0].Delete();
objAssessment.AcceptChanges();
}
//tblThreatenedSpeciesSubzone
var list = objAssessment.tblThreatenedSpeciesSubzone.Rows.ToList();
for (int i = 0; i < objAssessment.tblThreatenedSpeciesSubzone.Count; i++)
{
foreach (Assessment.tblThreatenedSpeciesSubzoneRow ThreatenedSpeciesSubzoneRow in objAssessment.tblThreatenedSpeciesSubzone.Rows)
{
if (ThreatenedSpeciesSubzoneRow.VegetationZoneID == VegetationZoneIDToDelete)
DeleteThreatenedSpeciesSubzone(ref objAssessment, ThreatenedSpeciesSubzoneRow.ThreatenedSpeciesZoneID, UserFullname, ref ErrorMessage);
}
}
UpdateSpeciesGeoHabitatSurveyTime(ref objAssessment, UserFullname, ref ErrorMessage);
}
else
{
//Cannot have more than one row with same key
ErrorMessage = "Error: More than one record found - Vegetation zone ID = " + Convert.ToString(VegetationZoneIDToDelete);
return false;
}
}
else
{
//Must have at least one row with same key
ErrorMessage = "Error: Record not found - Vegetation zone ID = " + Convert.ToString(VegetationZoneIDToDelete);
return false;
}
return true;
}
我有問題「tblThreatenedSpecies亞帶「刪除,它會拋出異常‘發生錯誤收集了修改;枚舉操作可能不會執行’
var list = objAssessment.tblThreatenedSpeciesSubzone.Rows.ToList();
for (int i = 0; i < objAssessment.tblThreatenedSpeciesSubzone.Count; i++)
{
foreach (Assessment.tblThreatenedSpeciesSubzoneRow ThreatenedSpeciesSubzoneRow in objAssessment.tblThreatenedSpeciesSubzone.Rows)
{
if (ThreatenedSpeciesSubzoneRow.VegetationZoneID == VegetationZoneIDToDelete)
DeleteThreatenedSpeciesSubzone(ref objAssessment, ThreatenedSpeciesSubzoneRow.ThreatenedSpeciesZoneID, UserFullname, ref ErrorMessage);
}
}
我試圖此基礎上改裝勸什麼你們,但現在我有不同的異常。
希望有人指導我在正確的道路上。
您在使用ToList()時遇到問題,或者「出現錯誤:集合已被修改;枚舉操作可能不會執行」? – 2014-10-16 21:38:18
ToList()遇到問題,我得到了更早的集合異常修改所以嘗試更改爲TOList – Usher 2014-10-16 21:39:32
@Usher:我想你實際上是想在'foreach'中循環這個列表以防止「集合被修改」錯誤即使它目前沒有使用。 – 2014-10-16 22:02:47