2009-10-29 68 views
0

我聽到很多linq-to-sql的抨擊,以及人們會如何在不知不覺中濫用它。但是,linq-to-sql如何被濫用?如何濫用Linq-to-sql?

更新 如果有人能給我清楚的例子,說明它是如何被濫用的,這將是非常有益的。參考博客/教程也會非常有幫助。 謝謝。

+1

只需使用它;-) – mxmissile 2009-10-29 21:55:47

回答

1

LINQ-> SQL可以被很多方式濫用,就像寫入很差的內聯SQL/ADO.NET/SPs或你有什麼。

你可能聽到的很多是LINQ本身可能被濫用的方式。

-1

那麼......如果你可以用linq-to-sql編寫複雜的查詢,那很可能是因爲你知道SQL語法,並且首先在SQL中寫入查詢非常好。那麼爲什麼你會使用.NET語法來編寫一個語法樹,然後另一層軟件會爲你翻譯(可能不是非常有效)到SQL中? 只需在SQL中首先寫下該死的東西:-)

+0

爲什麼?因爲它允許在單個環境中更快地開發。而'複雜'的linq-to-sql查詢要比寫sql更簡單,並且比他們的sql更簡潔。 – 2009-10-29 22:10:30

+0

它不是一個單一的環境。你的語法被轉換爲SQL。此外,還有一些SQL中的結構沒有被納入到.NET語法中(c#或VB.net)。因此,以使用LINQ的方式,您可能正在使用SQL引擎。 – Nestor 2009-10-29 22:14:31

+0

由於多種原因,我喜歡使用linq-to-sql。 1)它提供了與Web控件的綁定支持(儘管這不是很好的做法,它節省了大量時間)2)我可以使用VS的智能感知3)我不必在sql studio中創建存儲過程,然後手動初始化每個存儲的過程參數。 4)我可以在VS標準版中進行調試(只有專業版和更高的版本允許你在調試模式下進入sql server)。我有更多的理由,但我沒有足夠的字符來解釋它們。 不要親自批評我的批評!我喜歡聽到我的想法/意見。 =) – burnt1ce 2009-10-30 14:50:46

3

最容易犯的錯誤之一是創建一個查詢,該查詢導致對數據庫的調用循環而不是單個調用返回所有數據。由於這個原因,值得在調試器或跟蹤中檢查sql命令在命中數據庫。

1

我認爲它被誤用的一個例子是作爲服務器上的視圖或存儲過程中SQL的完全替代,因此可能在數據庫服務器上的安全性更爲寬鬆。