저는 Entity Framework의 코드 우선을 사용하려고했습니다. 아래 코드 줄을 작성했습니다.코드 첫 번째 DbContext 사용
DbContext _context = new DbContext(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
그러나 실행 중에는 연결이 닫힌 상태로 유지됩니다. 이 코드에 문제가 있습니까?
나는
public class GenericRepository<T> where T:class
{
public DbContext _context = new DbContext(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
private DbSet<T> _dbset;
public DbSet<T> Dbset
{
set { _dbset = _context.Set<T>(); }
get { return _dbset; }
}
public IQueryable<T> GetAll()
{
return Dbset;
}
}
아래의 DBContext을 사용하여 일반 저장소 클래스를 생성하고 난 후 교사가 데이터베이스
의 테이블에 매핑하는 엔티티 클래스는 페이지로드 이벤트에이 클래스를 호출protected void Page_Load(object sender, EventArgs e)
{
GenericRepository<Teacher> studentrepository = new GenericRepository<Teacher>();
rptSchoolData.DataSource = studentrepository.GetAll().ToList();
rptSchoolData.DataBind();
}
하지만 연결이 닫히지 않고 컨텍스트 개체의 ServerVersion에 InvalidOperation 예외가 있습니다.
나는 뭔가를 놓치고 있습니까 ??
DbContext에서 상속 받고 자신의 엔터티 컬렉션을 정의하는 고유 한 컨텍스트 클래스를 만들어야합니다. – tvanfosson
테이블에 이미 데이터베이스가 있습니다. DbContext 객체에 전달한 연결 문자열에 지정한 내용입니다. 나는 여전히 그것으로부터 상속받은 수업이 필요한가요? – RAHUL
@RAHUL : 예, 필요합니다. – Slauma