我ObservableCollection<T>
用来将一些数据绑定到某个视图。在编辑数据库现有数据时,我可以通过Savechanges()
在我的视图模型中仅调用一个方法来保存数据编辑,也可以将新项目添加到集合中并且我可以编辑它们,但该SaveChanges()
方法不会向数据库插入额外的行。
我不知道将哪些实体传递给视图模型。T 是多个实体的合并类,所以我必须这样做。在构造函数中:
collection=globalContext.TSet;
//the collection and context are defined in class level
获取新项目的代码:
collection.Add(New T());
CurrentItem=collection.Last();
其中collection 是ObservableCollection<T>
并且CurrentItem
是当前正在编辑的项目。
编辑:
不context.ChangeTracker.Entries
识别新对象。
我有一个复杂的类型(比如 T),它是一些连接查询的结果,我不知道 T 是从哪些实体创建的,所以我无法获取实体 => 我不能说出我是什么类型的实体的上下文想补充。
所以我必须强制更改跟踪器从复杂类型创建新对象,这是某些连接查询的结果。
我正在使用 EF4.3.1
有什么建议么?
谢谢你。