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

Ses*_*ame 3 c# foreach entity-framework

我正在尝试使用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);
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

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

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

我可以做些什么来使用int参数工作?

Mar*_*ell 5

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

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