我正在尝试使用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参数来完成此工作?
答案 0 :(得分:5)
但遇到了问题,因为其中一个存储的proc参数是int
不,您遇到了问题,因为ctx.FindMyEntity(string,int)
返回 int
。正如编译器非常正确地说:你不能foreach
。检查ctx.FindMyEntity
是否正在返回,以及认为应该返回的内容。