foreach statement cannot operate on variables of type 'int' because 'int' does not contain a public definition for 'GetEnumerator'

c#, entity-framework, foreach

Solution

but am running into issues because one of the stored proc parameters is an int

No, you are running into issues because `ctx.FindMyEntity(string,int)` returns an `int`. And as the compiler quite rightly says: you can't `foreach` over that. Check that `ctx.FindMyEntity` is returning, vs what you think it should be returning.

Problem

I'm trying to use Entity Framework to execute a stored procedure to populate a list but am running into issues because one of the stored proc parameters is an int. Here's my code: ``` 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); } } ``` This gives me the following error: foreach statement cannot operate on variables of type 'int' because 'int' does not contain a public definition for 'GetEnumerator' I have a similar snippet of code that is almost identical, but the second param is a string. It works perfect and returns the anticipated results. What can I do to make this work with an int param?

Original source