代码之家  ›  专栏  ›  技术社区  ›  ahmedpio

C#如何使用实体框架实体和ObservableCollection

  •  0
  • ahmedpio  · 技术社区  · 6 年前

    当我尝试的时候

    using (var db = new NewDbContext())
    {
        var AllItems = new ObservableCollection<db.Items>();
        ItemsDataGrid.ItemsSource = AllItems;
    }
    

    我犯了那个错误

    “db”是一个变量,但用作类型

    2 回复  |  直到 6 年前
        1
  •  1
  •   Peter Bons    6 年前

    那是因为 db.Items 不是一个类型,而是某个类型的集合(我想该类型是 Item ?) .

    所以试试这个:

        var AllItems = new ObservableCollection<Item>(db.Items);
        ItemsDataGrid.ItemsSource = AllItems;
    
        2
  •  1
  •   Ehsan Sajjad    6 年前

    db.Items 将返回类型为的集合 IQueryable<Item> 。似乎要转换的结果 IQueryable<T> ObservableCollection<T> .

    你实际上需要通过 Items 在的构造函数中 Observable 。正确的代码是:

    ObservableCollection<Item> AllItems = new ObservableCollection<Item>(db.Items);
    

    然后:

    ItemsDataGrid.ItemsSource = AllItems;
    

    希望有帮助。