2011-09-05 64 views
0

我需要開發一個程序,該程序必須刪除數據並將其插入到Oracle數據庫中。是否可以使用LINQ to SQL與Oracle?是否可以使用LINQ to SQL與Oracle?

對於開發,我使用MS SQL服務器,但它將成爲生產中的Oracle數據庫。你有什麼建議?

+3

我強烈建議使用相同的數據庫進行開發,以便在生產中使用! – Patrick

+1

+1給帕特里克。除非你正在製作商業產品,否則不要試圖使它與數據庫無關,它比它的價值更多的努力,並且浪費了你購買的昂貴產品。如果您在生產環境中使用oracle,請在oracle上開發。 –

回答

1

不,你不能。儘管LINQ to SQL初始設計時考慮到了多數據庫支持(您可以在使用.NET Reflector查看代碼時看到這一點),但該模型從未公開過,而且Microsoft無意添加多數據庫支持LINQ to SQL。

如果您需要多數據庫支持,請使用實體框架。

+0

但實體框架使用LinQ To SQL,不是嗎? –

+0

你能改說這個問題嗎? – Steven

+2

@Dran:不,他們(EF和L2S)是完全不同的產品。前者與db不可知,後者僅適用於SQL Server系列(包括Compact和Express)。 –

1

不,LINQ-to-SQL不支持Oracle。在內部,該項目支持多個後端,但是這從未進入最終的公開發布。我相信LINQ-to-Entities支持其他數據庫。

2

正式地否。Linq to SQL原本是爲了更換數據提供程序以允許連接到其他數據庫而構建的,但他們在發佈的版本中禁用了此功能,以鼓勵人們使用更穩定和受支持的數據訪問層(如EF)。如果您想在SQL和Oracle之間切換,推薦的方法是使用實​​體框架。

此外,Patrick非常正確,確保您正在開發和測試您將要用於生產的相同數據庫平臺,但它們的操作方式有着天壤之別。當然,你應該能夠將它抽象出來,而不用關心你是使用SQL還是使用Oracle,但是這幾乎不是真的。

相關問題