2010-05-04 20 views
1

我正在使用linq到sql。我在dbml文件中有一個表,它的一些字段可以動態生成(在運行時)。有什麼方法可以將字段添加到表dynamiccaly,或動態地添加一個類到dbml文件?如何在dbml文件中創建動態表?

回答

1

你不能在一個類添加到DBML文件動態,但您可以創建一個TypeBuilder的實例在運行時創建一個類與適當的TableAttributeColumnAttribute屬性,然後在查詢中使用類。

問題在於你必須通過反射來訪問它,包括大部分生成查詢的調用(因爲你無法在編譯時知道該調用哪些成員)。這就是說,你最好的選擇是使用一個更通用的容器(取決於你的數據形狀),然後將它投影到一個KeyValuePair<TKey, TValue>實例(或其他一些結構)的序列中,該實例將保存名稱上鍵入的值的動態領域。

+0

謝謝。關於你的答案,這裏是我發現的真正有用的鏈接 http://blog.bodurov.com/How-to-Bind-Silverlight-DataGrid-From-IEnumerable-of-IDictionary – Naseem 2010-05-05 03:22:51