Я думаю, вам следует использовать ToArray
или ToList
(оба Array<T>
и List<T>
внедряют IEnumerable<T>
), поскольку, когда вы вернетесь, контекст удаляется, я почти уверен, что вы получите исключение, если вы используете AsEnumerable
, оставляя само перечисление для последующих шагов:
public static IEnumerable<int> GetAnswersIDs(int id)
{
using (var context = new MvcApplication4.Entity.test2Entities1())
{
return (from p in context.post
where p.post_parentid == id && p.post_isdeleted == false
select p.post_id).ToArray();
}
}
Кстати, я думаю, что в вашем случае использование linq более многословно, чем не-linq версия:
public static IEnumerable<int> GetAnswersIDs(int id)
{
using (var context = new MvcApplication4.Entity.test2Entities1())
{
return context.post.
Where(p => p.post_parentid == id && !p.post_isdeleted).
Select(p => p.post_id).
ToArray();
}
}
В качестве примечания вы можете рассмотреть возможность переформатирования имен полей в вашей модели, чтобы соответствовать соглашениям об именах в .NET .