2011-11-04 26 views
0

我使用LINQ在我的Windows應用程序中的sql它工作正常,但現在由於某種原因,我想刪除SQL Server數據庫 &,而不是它,我想用XML文件作爲數據存儲。我必須做什麼而不用在我的C#代碼中做更多的更改。如何將「linq to sql」DataContext轉換爲寫入平面XML文件?

在我的項目我做了這樣的事情..

起初我對液滴N拖我的所有SQL數據庫表在這裏.NET框架的工作讓我的數據庫&我正在訪問q.dbml文件像

DataContext dc = new qDataContext();   
var v = from emp in dc.employees where emp.id == 1 select emp; 

是否有任何方法來替換該XML服務器數據庫與XML而不做更多的項目編碼的變化?

+0

爲什麼?爲什麼要從SQL更改爲XML作爲數據存儲? – Eonasdan

+0

LINQ to SQL和LINQ to XML之間唯一的關係就是「LINQ」。他們不以任何方式工作。除此之外,LINQ to XML不是一個XML數據庫系統。 –

+0

@JohnSaunders:我希望我的編輯澄清事情。 – Will

回答

0

拋開爲什麼你想做到這一點...

號有沒有從一個SQL Server數據庫的XML文件不會涉及很多的切換方法更改您的代碼。正如其他人指出的,LINQ to SQL和LINQ to XML並不是一回事。 LINQ to SQL依賴於知道如何連接到數據庫的上下文對象,如何讀取表等。對於通用XML文件沒有等價的概念。至少,您將不得不重寫項目的數據訪問部分。

1

你正在吠叫錯誤的樹。

這是存儲庫模式的原因;將數據訪問層與應用程序邏輯的其餘部分分開,以便(例如)通過切換存儲庫實現可以輕鬆更改後備存儲。

既然你沒有這樣做......你堅持手動改變你的代碼。 LINQ to SQL不能被「轉換」爲LINQ to XML;它不會發生。