2015-11-08 117 views
1

我是.NET的初學者,現在我正在開發一個使用NancyFX框架的小項目(web API)。在我的項目中,我需要使用SQL數據庫來完成一些非常基本的任務,比如存儲註冊用戶的詳細信息或獲取一些用戶信息。我想知道什麼是.NET中用於初學者的最流行,最方便和最現代的方式?我的意思是,我應該使用LINQ還是純粹的SQLClient功能,或者是否有任何用於在.NET上使用SQL的良好庫?我試圖實現LINQ to SQL模式,但結束了大量未使用的自動生成的代碼,甚至在我腦海中更大的混亂....NET項目中SQL的最佳實踐

+2

先看看實體框架的工作代碼。 –

回答

4

對於與您溝通的框架是數據庫,我會建議使用實體框架,它非常方便和簡單,並且具有您應該閱讀的代碼優先方法。 更多了,我建議你遵循存儲庫模式,

https://msdn.microsoft.com/en-us/library/ff649690.aspx

這基本上意味着 - 每個對象在數據庫中保存,將其中將包含同類型的所有對象的存儲庫,這將是你進入讀取/插入/更新/刪除數據庫中的行,同時抽象出實現的所有細節 - 在我們的例子中,我推薦如前所述的實體框架。

祝你好運

+0

我已經讀了一些關於Repository模式的信息。如果我理解正確,這種方法已經由實體框架代碼優先實施。我認爲'DbContext'基本上是一個存儲庫的基類。我必須從它派生出來並創建我自己的類,它將用於代表我的SQL數據庫表的對象。我對嗎?或者我必須把與數據庫進行通信的所有邏輯分開來爲每個實體(表)分開類?也就是說,如果我有兩個表格:客戶和朋友,是否必須爲每個放置CRUD邏輯的位置創建一個類? – Salivan

+0

嘿,我很高興你讀到它,dbcontext對象代表你是數據庫,就像你說你需要從它派生出來,而不是指定你需要的DbSet,在你的情況 - DbSet 和DbSet 。你應該把CRUD邏輯放在一個專用於你的dbcontext中的每個實體的存儲庫類中,我建議你閱讀本文 - http://www.tugberkugurlu.com/archive/generic-repository-pattern-entity-framework-asp -net-mvc-and-unit-testing-triangle,它解釋和演示了與實體框架一起工作的存儲庫模式,祝你好運! –

+0

非常感謝! – Salivan