2011-05-28 66 views
1

我在一個使用WebForms的大項目中,我希望使用LINQ TO SQL,但是如果我將所有內容添加到該模型(此外我仍然使用標準SQL),它會在VS中變得很慢,那麼對於多個上下文可以嗎?在C#ASP.NET程序中有多個上下文可以嗎?

編輯: 我在說的是..我有近100個表中的數據庫,我不能將它們全部添加到一個上下文,因爲我仍然使用原始的sql很多..所以我雖然我可以分開整個並根據操作創建許多上下文。因此,如果我必須添加評估表單,那麼上下文將與所有與評估表單相關的表格進行交互。

THanks。

回答

-1

我不確定你在問什麼,但通常情況下,你不需要多於一個上下文。

+8

如果你不知道他在問,你怎麼能提供一個答案? – 2011-05-28 17:40:32

+0

看看我更新的帖子。 – Rushino 2011-05-28 17:54:12

2

如果您在數據庫模式中有邏輯分隔,那麼擁有多個上下文將是有意義的。 此外,L2S不會阻止您使用原始的sql,甚至更多的是,您可以使用上下文的連接並利用它的方法來執行sql查詢。 此外,您可以使用L2S映射SP0

有多個上下文的另一個警告是您不能輕鬆地在上下文之間傳遞對象。在你的情況下,我寧願使用EF與POCO(可能甚至是新到達的代碼第一種方法),使用它你可以將對象從一個上下文傳遞到另一個上下文,否則你需要使用某種Object-to -object映射

UPD:那是你如何使用LINQ2SQL與原始SQL:

db.ExecuteQuery<Customer>("select * from dbo.Customers where City = {0}", "London"); 
db.ExecuteCommand("UPDATE Products SET QuantityPerUnit = {0} WHERE ProductID = {1}", "24 boxes", 5); 

閱讀這篇文章DataContext.ExecuteCommand Method

+0

該數據庫是巨大的..從一開始,我們使用原始的SQL(這是一個錯誤的方法,這樣的項目definitivly,但我們是在asp.net新)。我不想進入複雜的東西,因爲我的時間很重要,但我認爲我可以通過組建一個上下文並從現在開始構建它來節省時間。表格由表格代替自己製作課程。你仍然建議我使用EF還是應該堅持使用L2S? – Rushino 2011-05-29 14:29:39

+0

也從我知道..有一個表,不需要與其他表交互,以便可以組成一個上下文。 – Rushino 2011-05-29 14:30:09

+0

您可以使用EF並重新生成向其中添加新表的表單,唯一的問題是您需要在添加帶有外鍵的表時添加所有相關表,否則您可能會遇到煩人的EF錯誤。 – vittore 2011-05-31 19:45:09

相關問題