2013-09-22 1 views
2

"TblProduct"를 현재 범위 또는 컨텍스트에서 확인할 수 없습니다. 참조 된 모든 변수가 범위에 있고 스키마가로드되어 있고 해당 네임 스페이스 올바르게 참조됩니다. " 다음 코드에서는 올바르게 작동하지 않는 이유가 확실하지 않습니다. 나는 누군가가 도움을 줄 수있을 기대하고 있었는데 감사합니다! : 당신은 내가 그건 당신이 놓친 것 같아요 제공 한 정보에서현재 범위 또는 컨텍스트에서 확인할 수 없습니다. 모든 참조 된 변수가 범위에 있는지 확인하십시오

당신은 당신의 컨텍스트에서 DbSet 같은 TblProduct를 지정해야합니다
private void AddProductsToTabbedPanel() 
    { 

     int i = 1; 
     foreach (TabPage tp in tabControl1.TabPages) 
     { 
      ObjectQuery<TblProduct> filteredProduct = new ObjectQuery<TblProduct>("SELECT VALUE P FROM TblProduct AS P WHERE P.ProductType = " + i.ToString(), pse); 

      FlowLayoutPanel flp = new FlowLayoutPanel(); 

      flp.Dock = DockStyle.Fill; 

      foreach (TblProduct tprod in filteredProduct) 
      { 
       Button b = new Button(); 

       b.Size = new Size(100, 100); 

       b.Text = tprod.Description; 

       b.Tag = tprod; 

       b.Click += new EventHandler(UpdateProductList); 

       tp.Controls.Add(b); 
      } 
+1

글쎄, 'TblProduct'는 어디에 선언 되었습니까? 어떤 네임 스페이스가 있고 어떤 어셈블리입니까? –

+0

TblProduct는 다음을 사용하여 데이터베이스에서 가져옵니다. private PCStoreDatabaseEntities pse = new PCStoreDatabaseEntities(); – user2804717

+0

아니요, * 유형 자체가 선언 된 곳은 어디입니까? 컴파일러는 해당 형식에 대해 알지 못하기 때문에 불평합니다. –

답변

1

.... 이것은 다음과 같습니다.

public class ProductContext : DbContext 
{ 
    public DbSet<Category> TblCategories { get; set; } 
    public DbSet<Product> TblProduct { get; set; } 
} 
관련 문제