查询结果不能多次枚举(C#)(实体框架)(存储过程)
当我到达查询结果不能多次枚举(C#)(实体框架)(存储过程),c#,sql,asp.net-mvc,stored-procedures,C#,Sql,Asp.net Mvc,Stored Procedures,当我到达db.GetLabelComponentsByLabelID(LabelIDs.ElementAt(I).Value.ToString()).ToList() 我得到以下异常:查询结果不能被枚举多次 我试图通过调用ToList()来更改LabelComponents,如下所示 long? GroupID = db.GetGroupIDByName("PrintTest").SingleOrDefault(); ObjectResult<long?> LabelIDs = db
db.GetLabelComponentsByLabelID(LabelIDs.ElementAt(I).Value.ToString()).ToList()
我得到以下异常:查询结果不能被枚举多次
我试图通过调用ToList()
来更改LabelComponents,如下所示
long? GroupID = db.GetGroupIDByName("PrintTest").SingleOrDefault();
ObjectResult<long?> LabelIDs = db.GetLabelIDSFromGroupingsByGroupID(GroupID.ToString());
for (int i = 0; i < LabelIDs.Count(); i++)
{
var LabelComponents = db.GetLabelComponentsByLabelID(LabelIDs.ElementAt(i).Value.ToString()).ToList();
List<Component> Label = new List<Component>();
for(int j = 0; j < LabelComponents.Count(); j++)
{
....
....
长?GroupID=db.GetGroupIDByName(“PrintTest”).SingleOrDefault();
ObjectResult LabelIDs=db.GetLabelIDSFromGroupingsByGroupID(GroupID.ToString());
对于(int i=0;i
您需要在第一次db调用中列出标签,因为您要多次枚举标签ID
值。标签ID.Count
第一次运行查询,然后标签ID.ElementAt
稍后再次运行该查询。第一句中的代码与您的代码片段不匹配,您确定是否有e> ToList
在实际代码中?@DavidG var LabelComponents=db.GetLabelComponentsByLabelID(LabelIDs.ElementAt(i.Value.ToString()).ToList();它在那里。否?将.ToList()
放在GetLabelIDSFromGroupingsByGroupID()之后
您需要ToList
在第一次db调用时,您将多次枚举labelid
值。