在實際的ASP.NET MVC應用程序中創建數據訪問層的建議方式是什麼?是EF嗎? Ef Code First? NHibernate的?任何其他想法?ASP.NET MVC中的數據訪問3
謝謝&問候
在實際的ASP.NET MVC應用程序中創建數據訪問層的建議方式是什麼?是EF嗎? Ef Code First? NHibernate的?任何其他想法?ASP.NET MVC中的數據訪問3
謝謝&問候
有沒有推薦的方式。
我喜歡EF代碼第一次這樣做,因爲
嘗試LINQ,我看到的大多數MVC產品都使用LINQ。
LINQ是一個與數據訪問層交互的工具。它不會創建圖層本身。 –
EF Code First對現實生活中重度使用的網站有多強大? – Bill
LINQ是一種編程模型,它將查詢作爲一流的概念引入到任何的Microsoft .NET語言中。 – RickAndMSFT
如果您偏愛MSFT工具並希望成爲「現代」,那麼EF Code First可能就是開始的地方。值得一讀的例子是:https://github.com/NuGet/NuGetGallery。
我喜歡使用Model First,因爲它允許我在我看來最自由地進行設計和實現。它也使得改變數據庫設計變得非常容易。
我也首先喜歡模特,但我認爲我們是少數派(不是大多數人必然是正確的)。我認爲你可以從通過Model進行一些工作中受益。 – RickAndMSFT
沒有,stackoverflow充滿了沿着各種路線走下坡路的人們,所以無論你做出哪種選擇,你都可以得到幫助。
最好的建議,嘗試使用幾個似乎脫穎而出的方法做一些小探索網站。
不幸的是,真正的障礙並不傾向於在小型測試項目上顯示,而是在真實項目上顯示真實數據。 – Jan
不,但大多數方法都有各種障礙....沒有完美,但它確實告訴你發展的風格是否符合你的想法。但是,是的,有一些併發症在蔓延! –
對每個原型類型都是一個好主意 - 即使你不會發現你在真實應用中遇到的很多問題。 – RickAndMSFT
MS上的MVC大師(寫MVC的人)似乎都在使用實體框架。話說回來,你可以使用任何ORM(或真的是你想要的任何數據訪問技術)作爲MVC犯規實際上是在所有指定有關訪問數據
1.並非所有MS的MVC人都只使用EF。 2.並非所有的MVC大師都爲MS工作(實際上大多數都不)。你是對的,我們不告訴人們使用什麼。 – RickAndMSFT
這一切都取決於你的需要的方式事情:
NHibernate的是一個大的社區比較成熟的ORM
實體框架現在正很好的支持,你還可以找到大量信息(check Julie Lerman blog)
兩者均支持從數據庫生成代碼。
代碼優先:允許您從域模型創建數據庫模式。如果你不想打擾數據庫,這很好。 NHibernate也可以做到這一點。
爲了幫助您決定使用哪種方式實體框架
還有很多其他偉大的ORM:
Stackoverflow's ORM Dapper如果性能是一個重要的標準有一個小笨蛋在網站上的hmark
NET ORMs:http://stackoverflow.com/questions/1377236/nhibernate-entity-framework-active-records-or-linq2sql/ –