2012-07-13 53 views
0

我目前使用實體框架(.net 4)使用LINQ語句從第三方數據庫中讀取數據。不幸的是,在編譯時,我不知道我將從哪個表讀取 - 實際上,在我的應用程序編譯完成後,可以將新表添加到此數據庫中。讀取的表名將作爲字符串參數傳遞給我的方法。實體框架中的動態表名linq

當編譯時不知道表名是否應該如何處理這種情況?我甚至無法將這些表添加到我的數據模型中,因爲它們可能不存在。儘管我喜歡linq的便利,但我仍然是一個簡單的方法。

謝謝!

回答

1

對於只能在運行時構建的查詢並返回不同形狀的類型,您幾乎不得不製作並執行要運行的SQL。 DataContext.ExecuteQuery(string query, params object[] parameters)將成爲你的朋友。

您可能已經這樣做了,但我建議將這部分代碼隔離到代碼的一部分,執行查詢的位置,然後將結果放到強類型對象中,然後將其暴露給其他區域的應用程序。確保你也清理了表名。