【问题标题】:C# How can i use Entity Framework Entities with ObservableCollectionC#我如何使用带有 ObservableCollection 的实体框架实体
【发布时间】:2018-03-04 12:28:11
【问题描述】:

当我尝试这样做时

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

我得到了那个错误

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

【问题讨论】:

    标签: c# wpf entity-framework-6


    【解决方案1】:

    那是因为db.Items不是一个Type而是某个类型的集合(我猜那个类型是Item?)。

    所以试试这个:

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

    【讨论】:

      【解决方案2】:

      db.Items 将返回 IQueryable&lt;Item&gt; 类型的集合。您似乎想将IQueryable&lt;T&gt; 的结果转换为ObservableCollection&lt;T&gt;

      您实际上需要在Observable 的构造函数中传递Items。正确的代码是:

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

      然后:

      ItemsDataGrid.ItemsSource = AllItems;
      

      希望对你有帮助。

      【讨论】:

      • 谢谢,但我不能像“使用泛型 'ObservableCollection' 需要 1 个类型参数”那样使用 ObservableCollection
      • @ahmedpio 你在那里指定了泛型类型参数Item 吗?
      猜你喜欢
      • 2015-12-26
      • 1970-01-01
      • 2022-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-08
      • 2014-03-24
      相关资源
      最近更新 更多