我有四個數據源通過一個公共ID(遞增整數)關聯。合併來自不同源的不同類型的數據
一個數據源P
始終可用,其他三個L
對於給定ID(即ID不能保證存在)可用或不可用,並通過互聯網接收,並且可通過其IP地址進行區分。
我收集了一段時間內的數據源,然後我想用他們的ID加入他們。
我的心智模式是在區間P: List<'T>
- 數據從源
P
所有L
來源:L: List<Dictionary<string, 'U>>
- 從源頭獲取ID
P
a: 'T -> int
- 從
L
獲取ID來源b: 'U -> int
- 產生的類型,其中數據之前,我橫行使用哈希集和諸如此類的東西相組合
'V = {Id: int; P: 'T; L: Dictionary<string, 'U> }
- 結果
R: List<'V>
,這將是很好得到關於如何做到這一點的一些想法。也許有一些很酷的F#功能,這使得這非常簡單。
這個問題並不完全清楚 - 你寫道Ls可能可用於給定的ID,但是你從L獲得ID的呼叫是由「U」鍵控的? –
@AntonSchwaighofer來自'L'源的數據都是相同的類型,'U',並假定包含該ID。 'a'和'b'從數據類型「T」和「U」中提取ID。 – kasperhj
如果我假設你的意思是'a:int - >'T',並且對於'b',我寧願將它建模爲'{Id:int; P:'T; L:Map}'。我不明白你爲什麼需要一個字典列表? –