我有一個非常動態的SQL Server問題來解決。我正在開發一個工具來驗證多個數據庫中的匹配數據。 [注意:這個項目的要求是相當嚴格的]是否有一個庫可以動態使用Linq直接查詢數據庫?
我需要一個C#工具,讓用戶從動態列表中選擇任何數據庫,然後讓用戶選擇一個表(作爲源數據庫/表)。一旦完成,用戶再次爲另一個數據庫和表格(或多個表格作爲目的地)執行此操作。
一旦選擇了源和目標,用戶可以選擇哪些字段映射到哪些其他字段。
最後,程序需要遍歷源表中的記錄,並找到目標表的任何匹配的密鑰。它需要檢查的東西,只有一個關鍵匹配,所有其他映射字段具有相同的數據等...
我想在我的代碼中使用Linq,只是傳遞字段/表的字符串我正在運行這個基本邏輯。問題是數據庫&模式在編譯時是未知的。
我正在尋找這個問題的方向。我似乎無法找到解決方案。我最近來到的是動態的Linq-to-sql庫。但這只是在你的數據模型範圍內動態的。我甚至無法擁有數據模型。
我想丟棄整個LINQ的東西放在一起的只是寫我自己的快速和骯髒的方法鏈接生成我需要的基本的SQL(基本上是花哨的字符串生成器)的。
可能最好地利用ADO.Net「的getSchema 「方法(http://msdn.microsoft.com/en-us/library/kcax58fh.aspx)或INFORMATION_SCHEMA視圖(http://msdn.microsoft.com/en-us/library/ms186778.aspx)而不是「系統」。表。其他兩種方法均得到支持和記錄。 – 2010-07-27 04:58:39
@Aydsman:「系統」。目錄視圖也完全記錄在這裏(這裏是:http://msdn.microsoft.com/en-us/library/ms189082.aspx),並且通常比一般用途的ANSI-Standard INFORMATION_SCHEMA視圖更有用(但特定於SQL Server) 。 – 2010-07-27 05:01:10