中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET的架構有哪些

發布時間:2021-09-13 16:37:32 來源:億速云 閱讀:186 作者:chen 欄目:編程語言

這篇文章主要講解了“.NET的架構有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“.NET的架構有哪些”吧!

  .NET有哪些架構

  1)首先還是先來介紹一下實體層吧,就是我們通常所說的Entity

  實體就是我們在開發項目過程中所要涉及的一些對象。把這些所要涉及的對象(如:新聞名稱,新聞上傳時間,供稿人,上傳文件的名稱等),都抽象成一個類。使用封裝字段方法,我們可以在視圖層通(主要是視圖層)過實例化對象的方法,來給我們的對象的屬性賦值。

  簡單的看一段代碼吧,可能會能夠更加的清楚,明白

  publicclassNewsModel

  {

  //新聞編號

  privateintnNewsId;

  publicintNNewsId

  {

  get{returnnNewsId;}

  set{nNewsId=value;}

  }

  //新聞名稱

  privatestringstrNewsName;

  publicstringStrNewsName

  {

  get{returnstrNewsName;}

  set{strNewsName=value;}

  }

  }

  這里的NewsModel就是一個關于新聞的實體類,其中聲明了兩個private的屬性字段(一定要是private,防止非法賦值),使用public的構造函數,可以在外部給字段賦值。

  下面的就是在視圖層來實例化對象,根據需要來給字段賦值,看下面的一段代碼:

  NewsModelnewModel=newNewsModel();

  newModel.StrNewsName=this.TextBox1.Text;

  當然了,這僅僅是一段代碼,其中并沒有給字段nNewsId賦值,因為我把它作為數據庫的id地段,已經設置成自動增長。這樣,就完成了視圖層對實體層的調用。

  .NET有哪些架構

  2)數據庫訪問層

  數據庫庫訪問層,顧名思義,就是主要來完成對數據庫的訪問,等一系類的對數據庫操作的類。為什么要單獨的把對數據庫的操作抽象成一個單獨的類,我個人理解是因為在整個項目的開發過程中,不僅僅需要一次訪問數據庫,而是需要多次,如果每次都編寫數據庫訪問代碼的話,會增加程序員的個人工作量,而且對于代碼的易用性和簡潔性來說肯定是非常糟糕的。當然來可能還有其它的一些優點,我暫時還沒有發現。

  既然是對數據庫的操作類,而且對數據庫的操作,無非就是四種:增刪改查。所以一個能提供增刪改查的通用類是必不可少的。這就是我們經常所說的,通用數據庫訪問類(很多的程序員都喜歡把這個類命名為SqlHelper,既然是名字,都是可以隨意起的,只要不違反C#語法命名規范,當然這樣命名也是有好處,就是可以使其他程序員根據類的名稱,大概判斷出這個類是要干什么的)。

  當然了,我這次做自己項目的時候,所寫的數據庫訪問類就沒有我上次看周金橋老師的書,然后模仿寫的數據庫訪問類那么的復雜了(《【ASP.NET開發】ASP.NET對SQLServer的通用數據庫訪問類》)。當然了,我這里的數據庫訪問類,主要還是為了簡介,和易用,只要滿足我自己當前項目的需要就可以了,不是每做一個項目,都要寫一個功能全面的數據庫訪問類。

  代碼如下,請大家參考,更喜歡哪個訪問類,自己可以根據自己口味,或者需要,直接用也可以:

  ///

  ///創建一個SqlHelper的數據庫訪問通用類,完成對數據庫的所有操作

  ///

  publicclassSqlHelper

  {

  //定義數據庫的連接字符串

  privatestaticreadonlystringconnectionString=ConfigurationManager.ConnectionStrings["strConnectionString"].ConnectionString;

  ///

  ///創建方法,完成對數據庫的非查詢的操作

  ///

  ///sql語句

  ///傳入的參數

  ///

  publicstaticintExecuteNonQuery(stringsql,paramsSqlParameter[]parameters)

  {

  using(SqlConnectioncon=newSqlConnection(connectionString))

  {

  con.Open();

  using(SqlCommandcmd=con.CreateCommand())

  {

  cmd.CommandText=sql;

  cmd.Parameters.AddRange(parameters);

  stringstr=sql;

  returncmd.ExecuteNonQuery();

  }

  }

  }

  ///

  ///完成查詢的結果值

  ///

  ///sql語句

  ///傳入的參數數組

  ///

  publicstaticintExecuteScalar(stringsql,paramsSqlParameter[]parameters)

  {

  using(SqlConnectioncon=newSqlConnection(connectionString))

  {

  con.Open();

  using(SqlCommandcmd=con.CreateCommand())

  {

  cmd.CommandText=sql;

  cmd.Parameters.AddRange(parameters);

  returnConvert.ToInt32(cmd.ExecuteScalar());

  }

  }

  }

  ///

  ///主要執行查詢操作

  ///

  ///執行的sql語句

  ///參數數組

  ///

  publicstaticDataTableExecuteDataTable(stringsql,paramsSqlParameter[]parameters)

  {

  using(SqlConnectioncon=newSqlConnection(connectionString))

  {

  con.Open();

  using(SqlCommandcmd=con.CreateCommand())

  {

  cmd.CommandText=sql;

  cmd.Parameters.AddRange(parameters);

  SqlDataAdapteradapter=newSqlDataAdapter(cmd);

  DataTabledt=newDataTable();

  adapter.Fill(dt);

  returndt;

  }

感謝各位的閱讀,以上就是“.NET的架構有哪些”的內容了,經過本文的學習后,相信大家對.NET的架構有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宿松县| 安塞县| 辽中县| 许昌县| 土默特左旗| 嘉峪关市| 惠东县| 伊春市| 贞丰县| 长乐市| 尤溪县| 马山县| 江山市| 伽师县| 文成县| 铅山县| 呈贡县| 黎平县| 旬邑县| 银川市| 镇安县| 精河县| 禄劝| 凤山市| 定襄县| 永登县| 应用必备| 启东市| 佛坪县| 韶关市| 大邑县| 新津县| 龙门县| 海林市| 安达市| 开江县| 包头市| 靖江市| 武鸣县| 古交市| 仪征市|