成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

探討.NET數據訪問層相關基礎結構設計原則

開發 開發工具
本文將介紹數據訪問層相關基礎結構設計的內容,包括數據訪問層基礎結構設計目標以及一些原則。希望本文對大家有所幫助。

.NET數據訪問層基礎結構設計目標:

1.完成面向對象的數據訪問

2.減少調用側代碼量

3.滿足可擴展的系統需求

4.保證數據一致性

其中,對于.NET訪問層基礎結構設計,采用如下原則。

1.對于面向對象系統,采用DataReader方式進行數據讀取;

2.為了減少調用側代碼量和滿足可擴展的系統需求,采用反射實現動態的屬性訪問;

作者參與系統使用Codeplex的項目FastReflection作為反射工具,對于對象基本屬性可通過屬性名字符串直接訪問,

例,Teacher類有屬性ClassID,我們可通過teacher.Item("ClassID")對其進行讀寫;

很多人擔心反射的效率問題,當然自己每次生成屬性訪問器可達到只有4倍的效率低下,而直接使用FastReflection可能會達到近40倍的效率低下;但1000000次讀寫在0.7秒內完成與可擴展的目標權衡起來,還是可以采用的。

3.為了保證數據的一致性,我們采用每個數據表都有物理主鍵ID,類型為GUID的設計;同時使用DateTime型UpdDateTime字段來記錄插入和更新時間,作為排他的基本條件。

如何保證數據排他:

用戶A和用戶B同時取得一條數據進行更新的同時,使用UpdDateTime作為條件,如果UpdDateTime一致則可進行更新;

反之,無法進行更新。

在編碼中,我們使用ExecuteNonQuery執行更新SQL文,而對返回的影響件數進行判斷;對于影響零件的情況,視為數據不一致的更新行為,報排他異常。

對于主鍵的使用:

小型系統一般都使用自動增長唯一標識列,都是提交數據后查詢主鍵,使用SQLServer2005以上的系統,可以通過如下SQL文和輸出參數獲得自動增長的主鍵值:

  1. INSERTCategories(CategoryName)Values(@CategoryName)SET@Identity=SCOPE_IDENTITY() 

其中輸出參數@Identity就是返回的自動增長主鍵值。

而對于比較復雜的系統,如包含部分更新及全部更新和主細表同時更新的情況下,需要自己在服務器端進行主鍵設置,此種情況建議把主鍵類型設置為GUID型而不使用自動生成屬性,這樣就可以在更新執行之前設置主表數據主鍵以及詳細表數據的外鍵并進行更新了。

4.事務控制方面,主要使用隱式事務在業務邏輯層就將事務開啟。

5.對于.NET數據庫訪問層建議大家多使用EnterpriseLibarary的數據訪問組件,優化方面可以根據自己的設計進行,同時可以使用AOP組件對結構進行優化,我們自己的項目使用PostSharp對所有層的異常處理和日志輸出進行了優化。

【編輯推薦】

  1. ASP.NET 2.0數據教程:完成數據訪問層
  2. ASP.NET 2.0數據教程:給數據訪問層添加參數化的方法
  3. ASP.NET 2.0數據教程:創建數據訪問層
  4. 用ObjectSpaces重建IBuySpy的數據訪問層
  5. 了解ASP.NET Web應用程序模型
責任編輯:彭凡 來源: cnblogs
相關推薦

2009-03-09 13:28:36

結構設計定義.NET

2012-06-07 10:53:08

架構設計數據訪問層設計原則

2018-11-27 16:21:36

操作系統Fuchsia谷歌

2023-03-21 08:41:09

結構設計數據庫高性能

2024-10-28 11:21:31

2011-05-19 15:25:20

數據庫結構

2010-03-25 15:14:36

機房綜合布線

2023-05-31 08:19:00

體系結構設計

2010-05-06 14:30:29

流媒體服務器負載均衡

2010-05-26 14:00:46

Mobile IPv6

2009-08-19 10:54:42

ASP.NET數據訪問

2009-08-13 14:59:00

C#數據訪問層

2021-01-11 10:19:51

安全架構

2022-06-15 15:18:50

深度學習圖像分割

2011-06-11 22:09:06

NET聯合體

2011-07-12 09:18:50

.NET

2009-07-24 13:25:43

創建數據訪問層

2009-08-04 10:17:55

ASP.NET SqlASP.NET數據訪問

2010-04-13 17:35:50

Oracle數據庫性能

2017-11-24 08:32:04

架構設計存儲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 超碰人人人人 | 国产日韩欧美在线一区 | 久久蜜桃精品 | 欧美视频在线观看 | 久久国产精品色av免费观看 | 欧美精品久久久久 | 一区二区三区四区免费观看 | www.99热| 一级黄色在线 | 国产高清在线 | 日韩欧美一区二区三区免费观看 | japanhd成人| 91免费观看 | 亚洲日韩第一页 | 午夜视频在线观看一区二区 | 一区二区三区在线 | 欧 | 欧美日韩一 | 国产一区二区在线免费视频 | 国产成在线观看免费视频 | aaa精品 | 久久日韩精品 | 精品久久久久久久人人人人传媒 | 蜜桃精品在线 | 91在线| 亚洲一二三区精品 | 国产精品欧美一区二区三区不卡 | 久久精品这里精品 | 婷婷久久综合 | 国产成人精品免费视频大全最热 | 武道仙尊动漫在线观看 | 亚洲一区中文 | 国产精品久久久久久久久久久久午夜片 | 国产高清精品网站 | 九九热精品在线 | 精品欧美一区免费观看α√ | cao视频| 在线观看国产精品视频 | 亚州毛片 | 日韩中文字幕一区二区 | 精品国产一区二区三区在线观看 | 欧美黑人又粗大 |