C# foreach语句不能对类型为';int';因为';int';不包含对';GetEnumerator';
我试图使用Entity Framework执行一个存储过程来填充列表,但遇到了一些问题,因为其中一个存储过程参数是int 这是我的密码:C# foreach语句不能对类型为';int';因为';int';不包含对';GetEnumerator';,c#,entity-framework,foreach,C#,Entity Framework,Foreach,我试图使用Entity Framework执行一个存储过程来填充列表,但遇到了一些问题,因为其中一个存储过程参数是int 这是我的密码: string param1 = "param1"; int param2 = 1; List<MyEntity> myEntities = new List<MyEntity>(); using (MyEntities ctx = new MyEntities()) { foreach(MyEntity myEntity i
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);
}
}
string param1=“param1”;
int参数2=1;
List myEntities=new List();
使用(MyEntities ctx=new MyEntities())
{
foreach(MyEntity-MyEntity在ctx.FindMyEntity中)(参数1,参数2)
{
myEntities.Add(myEntity);
}
}
这给了我以下错误:
foreach语句无法对“int”类型的变量进行操作,因为“int”不包含“GetEnumerator”的公共定义
我有一个类似的代码片段,几乎完全相同,但第二个参数是一个字符串。它工作完美,并返回预期的结果
我该怎么做才能使int参数起作用
但是我遇到了问题,因为存储的过程参数之一是int
不,您遇到问题是因为
ctx.FindMyEntity(string,int)
返回一个int
。正如编译器非常正确地说的那样:你不能foreach
。检查ctx.FindMyEntity
是否返回,与你认为它应该返回的内容相比。你能发布FindMyEntity
函数的代码吗?什么是ctx.FindMyEntity(string,int)
return?它听起来像是返回一个int
,在这种情况下:quelle惊奇?呃……你完全正确。它的返回类型被设置为(none),但我认为我已将其设置为不同的类型。一旦正确设置了返回类型,一切都正常工作。非常感谢您指出我的错误!:)