我试图在管理用于数据绑定的不同ObservableCollections的Silverlight 4 RIA Services应用程序中实现类。这些ObservableCollections需要用一个字符串名和一个整数classID来标识,我已经通过在Dictionary>对象中嵌套Dictionary对象来实现这个类。问题是,如果我有明确的实体类型(我这样做),这个结构似乎不起作用。当我试图将一个ObservableCollection放入一个ObservableCollection(我猜测如何实现一个通用实体列表)时,问题似乎就会发生。包含具有不同实体类型的ObservableCollection值的词典的词典
例如:
this.rawData = new Dictionary<int, ObservableCollection<DataRaw>>();
this.constData = new Dictionary<int, ObservableCollection<SystemConstant>>();
this.masterData = new Dictionary<string, Dictionary<int, ObservableCollection<Entity>>>();
masterData.Add("test", rawData); <--- ERROR OCCURS HERE, 'best overloaded method has invalid arguments'
注意,我一直在使用“对象”,而不是在masterData的实例化“实体”尝试过,但没有解决不了的问题(这是无可否认的一个微弱的尝试)。
在此先感谢您的见解。如果我可以在这里实施更好的模式,我愿意保持灵活性。我主要希望避免编写一些实体类型特定的逻辑来管理此类的更新。这似乎应该是可以概括的。
亚历
是DataRaw从实体派生的类? – Murven 2010-10-29 05:39:31
是的,我相信。这是一个由我的数据库构建的实体框架生成的类。 – user483679 2010-10-29 06:10:32