我有型號這樣覆蓋兩個收集 - 模式
interface IStudent {
string Name;
List<Subjects> Marks;
int RollNumber;
}
class ViewModel {
ObservableCollection<IStudent> FromExcel;
ObservableCollection<IStudent> FromDB;
}
我需要將這兩個集合的聯合綁定的UI。最好的方法是什麼。我正在考慮使用LINQ Union方法與比較器生成另一個屬性ObservableCollection<IStudent> FromBoth;
。我的問題是
有三個集合綁定在UI上很好嗎?注意:我需要刪除重複項,優先考慮來自excel的數據。
我需要在某些情況下從數據庫中選擇一些數據而不是excel。
例如:fromExcel中的name =「hungrymind」和fromDB集合中的name =「hungrymind concepts」。默認情況下,UI上的網格應該顯示hungrymind(優先級爲excel),但是如果用戶從UI中取消選中列(aka屬性),則該列的數據優先級變爲DB,即UI應該顯示「飢餓概念」
應該採取什麼方法來實現這一點。我的方法是在用戶事件上,從集合中的每個項目中選擇來自FromDB或FromExcel的數據,並將其分配給FromBoth集合中的屬性。由於有超過100列,我不得不使用反射,但不會減慢性能?如果我避免反思,那麼我必須爲每一列寫一個方法。任何關於模式或方法的建議?