2012-12-03 30 views
0

創建動態控件我寫了2個問題後,被告知他們分成2個不同的崗位, 因爲他們中的一個在這裏解決的是另外一個:勢必表WPF和LINQ到實體

我有一個問題,在理解這裏的一些基本概念,我想...我正在創建一個項目來管理一個複雜的數據庫,(我正在使用LINQ實體爲我的數據庫是在MS-SQL 2012和WPF)

我想創建一個通用的視圖來編輯(刪除更新並插入)從數據庫中的大量表,我沒有問題手動創建表的列表,但在那之後我該如何以通用的方式來管理它? LINQ到實體不允許做這樣的事情:

string tableName = listbox.selectedItem.value; 
var a = from p in db.tables[tableName] select p; 

即使我手動使這一切爲每個表我怎麼可以創建編輯信息的UI?我需要動態地創建一個窗體/視圖/ user_control進行編輯,將包含每個列的文本框和datetimepickers項目...但我不能爲一個表做一個通用的選擇...

只是爲了說清楚,我在.net技術方面有一些不錯的經驗,但WPF和LINQ對我來說是新的,我可以很容易地創建所有以上在asp.net或windows窗體應用程序使用直接聯繫到SQL DB沒有linq因此我明白我有一個問題一些基本的理解和將得到我的2個問題的答案,並將非常樂意得到相關教程的指導

回答

0

使用實體框架的主要優點是,它允許從數據庫有一個抽象層次(這是什麼是ORM)。如果您需要將數據庫表直接展示給用戶界面,最好使用普通的舊ADO.Net System.Data.DataSet etc,而WPF DataGrid具有AutoGenerateColumns屬性,以根據DataTable列自動生成網格列。

此外,不建議在WPF中執行類似listbox.selectedItem.value的操作。您不應該在代碼中操作UI元素的屬性。你最好看看MVVM模式。