wpf C#如何在ObservableCollection中使用Entity Framework Entities

gijlo24d  于 12个月前  发布在  C#
关注(0)|答案(3)|浏览(157)

当我试着

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

我得到了那个错误
'db'是一个变量,但像类型一样使用

qzlgjiam

qzlgjiam1#

这是因为db.Items不是一个类型,而是一个特定类型的集合(我假设该类型是Item?)。
试试这个:

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

m0rkklqb2#

db.Items将返回类型为IQueryable<Item>的集合。看起来你想将IQueryable<T>的结果转换为ObservableCollection<T>
实际上,您需要在Observable的构造函数中传递Items。正确的代码是:

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

然后:

ItemsDataGrid.ItemsSource = AllItems;

希望有帮助。

5kgi1eie

5kgi1eie3#

对于任何遇到这个问题的人。您也可以直接用途:

ObservableCollection<Item> AllItems = db.Items.Local;

要填充集合,可能需要调用db.Items.Load(),它是System.Data.Entity的扩展

相关问题