2013-09-22 3 views
2

Я получаю эту ошибку: «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

Вы должны указать свой TblProduct как DbSet в вашем контексте .. из информации, которую вы предоставили я предполагаю, что это то, что вы пропустили. Это было бы что-то вроде этого.

public class ProductContext : DbContext 
{ 
    public DbSet<Category> TblCategories { get; set; } 
    public DbSet<Product> TblProduct { get; set; } 
} 
Смежные вопросы