Asp.net mvc 4 每个项目的IEnumerable索赔以sql错误终止

Asp.net mvc 4 每个项目的IEnumerable索赔以sql错误终止,asp.net-mvc-4,Asp.net Mvc 4,这是我用来从OWIN上下文中获取声明的代码 IOwinContext ctx = Request.GetOwinContext(); ClaimsPrincipal user = ctx.Authentication.User; IEnumerable<Claim> claims = user.Claims; string cm=""; int i = 1;

这是我用来从OWIN上下文中获取声明的代码

            IOwinContext ctx = Request.GetOwinContext();
            ClaimsPrincipal user = ctx.Authentication.User;
            IEnumerable<Claim> claims = user.Claims;

            string cm="";
            int i = 1;
            foreach (var item in claims)
            {
                cm = item.Value;
                if(i==2) break;
                i = i + 1;
            }
IOwinContext ctx=Request.GetOwinContext();
ClaimsPrincipal user=ctx.Authentication.user;
IEnumerable claims=user.claims;
字符串cm=”“;
int i=1;
foreach(索赔中的var项目)
{
cm=项目价值;
如果(i==2)中断;
i=i+1;
}

如果我删除foreach语句中的“break”,那么它将导致一个奇怪的错误,错误地将一个SQL错误声明为“无法连接到SQL Server”,但事实是我没有使用任何DB。另外,请指导我在上面的IEnumerable中获取索引处的值。

如果您尝试从索引访问,对于示例:
string cm=claims.ElementAt(2).value。使用Element时发生以下错误:System.Collections.Generic.IEnumerable