0
내 dbml에 마스터 테이블 "M"및 세부 테이블 "D1"이 포함되어 있습니다.asp.net에서 Linq 지연 실행
내 aspx 페이지는 M 데이터를 표시하는 TextBox와 D1 데이터로 채우기위한 표로 구성됩니다. 로드 시간을 절약하기 위해 버튼을 클릭하면 그리드가 채워지 길 원합니다 (D1에는 많은 행이 포함됨).
질문 1 : 다음 코드가 올바른 방법입니까?
protected void Page_Load(object sender, EventArgs e)
{
MyDataContext context = new MyDataContext();
M m = context.Ms.Single(n => n.id == id); // id is somehow provided
TextBox1.Text = m.field1;
}
protected void Button1_Click(object sender, EventArgs e)
{
MyDataContext context = new MyDataContext();
M m = context.Ms.Single(n => n.id == id); // id is somehow provided
Grid1.DataSource = m.D1s;
Grid1.DataBind();
}
질문 2 : 내가를 Page_Load에서 m.D1s에 액세스 할 수 있기 때문에이 상세 데이터가 어쨌든 이미 데이터베이스에서 가져온 또는 연기 실행이 적용됩니까 의미합니까?
을> 프로파일 러를 요청에 첨부하고 프로그램에 디버그하여 쿼리가 발행 된시기를 확인하십시오. 매우 흥미 롭습니다. 그것을하는 방법에 대한 모든 예제? – dpant
http://www.thinqlinq.com/Post.aspx/Title/LINQ-to-Database-Performance-hints에서 몇 가지 제안 사항이 있습니다. –