簡體   English   中英

SQL Server和.NET的數據庫通信層的最佳做法

[英]Best practices for database comunication layer for SQL Server and .NET

我被要求在幾個小時內實現一個必須訪問SQL Server數據庫的新ASP.NET應用程序。

我想知道什么是訪問數據庫的最佳(最快)方法,一個好的做法是創建一個數據訪問層,但是您將如何創建它呢?

  1. 使用ADO.NET並創建方法runQuery(query,parameters)然后為每個查詢創建一個方法,例如:

     getRowByID(id){ runQuery("SELECT..",id); } getRowsByDate(date){ runQuery("SELECT..",date); } 
  2. 使用Visual Studio中的內置向導? (可怕的解決方案,但是很快)

  3. 使用nHibernate,Linq或...之類的東西?

我個人會選擇不太復雜的第一種方法,我不喜歡自動生成的代碼,因此我會放棄第二種,也許是第三種?

讓我知道您的想法以及是否有任何有效的例子。

謝謝

getRowByID(id){getRowsByDate(date){

兩行解雇你。 使用一個ORM。 使用支持LINQ的東西。 如果您想快速而輕巧地使用BLToolkit。

2.使用Visual Studio中的內置向導

再次被解雇。

3.使用nHibernate,Linq或...之類的東西嗎?

究竟。

我總是喜歡存儲過程。 它們快速且易於測試,可以輕松插入參數化值,萬一出了問題,直接執行SP即可輕松進行測試。 以后也很容易進行更改,以及使用默認的null參數等。 您主要/僅執行SELECT查詢嗎?

執行選項3,僅使用BLToolkit ,這是一個鏈接-> http://www.bltoolkit.net/Doc.Linq.ashx只需查看演示項目

如果您想要一個簡單的抽象,請選擇BLToolkit,當然不是EF

如果我需要快速解決使用數據庫的應用程序,請使用Linq to Sql。 簡單而干凈。

因此,就像@TomTom所說的那樣,使用像Entity Framework和LINQ這樣的ORM是訪問數據庫的一種非常快捷的方法,從某種意義上說,它可以使您的應用程序非常靈活,因為您可以輕松更改后台數據庫而無需更改數據行。 -access層(您只需將提供者更改為正確的提供者)。

當然,使用ORM意味着您將以某種方式獲得自動生成的代碼,並且它肯定不會像您手動編寫代碼那樣快。 但是,這是迄今為止您所能找到的有關Microsoft提供的數據訪問的最快解決方案。

我更喜歡將EF或Linq用於SQL。 快速第一。 而且我不需要用代碼編寫SQL語句。 因為它是語言集成查詢(LINQ)的對象之一。 我還喜歡Visual Studio的Intelliense,它在LINQ中顯示表名和列名,這也減少了我的調試時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM