Tag: 多态关联

添加到ObjectSet 的对象的多态删除不会引发ObjectSet上的IBindingList.ListChanged .IListSource.GetList()

概览/描述 简单:从添加到ObjectSet TEntity 派生的运行时类型的对象的多态删除不会引发由ObjectSet.IListSource.GetList()方法返回的IBindingList对象上的IBindingList事件。 但是,在ListChanged事件上有效地通知删除运行时类型与 TEntity 匹配的实例。 为了澄清,在任何时候,对象都被有效地从底层集合或数据视图/存储中移除,但是当这些对象是严格从实际使用的TEntity派生的类型的实例时,不会引发ListChanged事件以通知它们的移除。 对于集合的运行时多态性的适当数据绑定支持,这只是一个惊人的BUG。 REPLICATION 型号设置 每种类型战略表。 在Server 2012 Express上映射和validation实体模型与已对齐的SQL数据库。 这是实体层次结构(伪UML): FiascoEntityContext : ObjectContext + Foos : ObjectSet Foo : EntityObject + Id: Int32 + Name: String SpecialFoo : Foo + SpecialProperty: String 示范代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using System.Data.Objects; namespace FiascoEF { class […]