【发布时间】:2016-07-13 04:07:15
【问题描述】:
如何使 ObservableCollection 与 Linq 表达式的结果一起工作?
例如:
items = new ObservableCollection<Item>(ctx.Items.Local.OrderBy(i => i.Name));
items.Add(new Item { Name = "ITEM NAME" });
在保存上下文的时候,上面的代码不起作用,因为:
var a items.Count; //a is 1
var b ctx.Items.Local.Count; //b is 0 --> Nothing added!!
为什么A不等于B??有人可以帮忙吗?
观察。 ctx 是一个 DBContext
【问题讨论】:
-
ctx.items 暗示这是一个数据库上下文,对吗?如果不是,ctx是什么?
-
@JohnPeters , ctx.items 是一个数据库上下文
-
使用 ctx.items.Save(); 时会发生什么;
-
我认为问题在于 EF 不知道 observablecollection,而是知道 List
- ...
-
@JohnPeters , ctx.SaveChanges() 不保存添加的项目。为什么?
标签: c# linq sql-order-by observablecollection