LINQ to SQL을 사용하는 작은 테스트 웹 응용 프로그램을 만들었습니다. ObjectDataSource 및 GridView가 있습니다. GridView의 데이터 소스는 ObjectDataSource입니다. 이제이 ObjectDataSource는 MyTasks라는 하나의 클래스 (메서드 이름 : GetAllTasks())를 사용하여 Linq를 사용하여 SQL의 Tasks 테이블에서 모든 작업을 SQL에 채 웁니다. 저장 프로 시저 GetAllMyTasks()를 호출합니다.LINQ to SQL 호출 저장 프로 시저
나는 완벽하게 작동하는 다음과 같은 방법이 있습니다.
public static IEnumerable<GetAllMyTasksResult> GetAllTasks()
{
MyTasksDataContext db = new MyTasksDataContext();
var tasks = db.GetAllMyTasks().Select(x => x);
return tasks;
}
지금 내가 일회용 MyTasksDataContext 객체를 생성하는 핵심 단어를 사용하여 사용할 수 있도록 단지 코드를 다음과 같이 위의 코드를 교체하려고합니다. 그것은 "리더가 닫혀있을 때 Read를 호출하는 시도가 잘못되었습니다."라는 에러 메시지를 낸다. 내가 여기서 누락 된 것이 있습니까?
public static IEnumerable<GetAllMyTasksResult> GetAllTasks()
{
using (MyTasksDataContext db = new MyTasksDataContext())
{
var tasks = db.GetAllMyTasks().Select(x => x);
return tasks;
}
}
아무도 나에게 이유를 제공 할 수 있습니까? MyTasksDataContext 객체가 dispose 메서드를 호출하고 있다는 것을 알고 있습니다.
Select (x => x)는 Enumerable 메서드로도 사용할 수있는 것이 전혀 없음 –