警告:Noob問題!MVC EF和具有複雜查詢的大型數據集
我被推入使用MVC & EF爲我的項目;這兩者對我來說都是新的。 MVC部分我沒有太強調,但EF困擾我,有一些關鍵概念,我的頭還沒有。
我的數據庫是數百萬記錄的存儲庫,用戶需要執行非常複雜的搜索。
似乎我所閱讀的大部分文章都將數據庫連接到應用程序的EF並過濾數據客戶端。這對我來說只是一個'不',我無法想象我是唯一的一個。
然後,我看到一些文章,談論推動過濾器回到數據庫使用LINQ/IQueryables。 這聽起來更合理,至少我不會帶回比我需要更多的數據。 但我的更復雜的查詢將是噩夢建立在LINQ(我想象)。
不過,困擾我的是,我有SQL Server爲我完成所有繁重的工作。存儲程序可以利用最強大的機制來處理最複雜的可疑問題。這不就是SQL Server誕生的原因嗎?
我還在想用我的舊Skool大腦推進。
- 構建反映我的數據表/結構的模型。
- 填充我的模式「手動」通過存儲過程
誰能指出哪裏我可能會錯誤地觀看這一切? 我知道Google上有大量的信息,但大多數只是跳到如何在技術上做'A'......而很少討論'爲什麼'我們正在做'A'或其他選擇。
感謝您的任何評論!
很難找到帶有複雜數據庫的brownfield應用程序的強大示例,這些數據庫有時不適用於EF,正如您所說,有時這可能會導致生成完全荒謬,煩瑣的查詢。但是,您可以使用存儲過程來執行返回所需模型結構的查詢。看到這個相關的問題的例子:http://stackoverflow.com/questions/20970416/using-stored-procedure-in-entity-framework –
我不知道任何人會帶來數百萬記錄客戶端。 Lot是用於在那裏分頁的工具。是的,如果你有太複雜的東西可以使用SP,但是LINQ非常強大。對於許多人來說,從對象和關係數據的角度來看,這是一個令人不舒服的範式轉變。 –