foreach语句不能对'int'类型的变量进行操作,因为'int'不包含'GetEnumerator'的公共定义

时间:2013-12-20 21:21:20

标签: c# entity-framework foreach

我正在尝试使用Entity Framework来执行存储过程来填充列表但是遇到了问题,因为其中一个存储的proc参数是一个int。

这是我的代码:

string param1 = "param1";
int param2 = 1;

List<MyEntity> myEntities = new List<MyEntity>();

using (MyEntities ctx = new MyEntities())
{
    foreach(MyEntity myEntity in ctx.FindMyEntity(param1, param2)    
    {
        myEntities.Add(myEntity);
    }
}

这给了我以下错误:

  

foreach语句不能对'int'类型的变量进行操作,因为'int'不包含'GetEnumerator'的公共定义

我有一个几乎完全相同的代码片段,但第二个参数是一个字符串。它完美无缺,并返回预期的结果。

如何使用int参数来完成此工作?

1 个答案:

答案 0 :(得分:5)

  

但遇到了问题,因为其中一个存储的proc参数是int

不,您遇到了问题,因为ctx.FindMyEntity(string,int) 返回 int。正如编译器非常正确地说:你不能foreach。检查ctx.FindMyEntity是否正在返回,以及认为应该返回的内容。