資料庫表關聯式模式解析7——多對多資料模型中的一張表是自串連

來源:互聯網
上載者:User
文章目錄
  • Mvc中的View的代碼
  • Mvc中的Controller的代碼
  • Mvc中的Model的代碼

此處詳細記錄了現實項目中多對多資料模型中的一張表是自串連列表頁面和增刪改查頁面。
狼奔代碼產生器可以自動產生ASP.NET頁面及後台代碼。
產生的項目用到的技術有:Jquery+MVC+Entity Framework。

實踐開發過程中,我們使用PowerDesigner設計資料庫模型。狼奔代碼產生器就是讀取PowerDesigner設計的資料庫模型,分析其中的表與表之間的關聯式模式,分析其中的表和欄位的說明資訊中的關鍵字,自動產生不同的頁面。

表與表之間的關聯式模式包括
  1. 單表資料模型
  2. 自串連資料模型
  3. 一對一資料模型
  4. 一對多資料模型
  5. 一對多資料模型中的一張表是自串連
  6. 多對多資料模型
  7. 多對多資料模型中的一張表是自串連
關鍵字包括
  1. 查詢
  2. 狀態
  3. 上傳
  4. 工作流程

 

架構圖

組件說明

圖表 1項目組件說明圖

  1. App——頁面展示層

    採用MVC架構,使用Jquery指令碼庫,控制項選用Easyui。

  2. WcfHost——服務宿主(後期擴充)

    為對外的服務提供宿主,使用WCF技術,HTTPS通訊協議。

  3. IBLL——業務介面層

    商務邏輯層的方法對外暴露的介面和服務契約。

  4. BLL——商務邏輯層

    商務邏輯的操作,包括業務處理,事務,日誌。

  5. DAL——資料訪問層

    資料庫訪問的操作,資料實體,業務實體,資料校正,使用Entity Framework。

  6. Common——公用組件層

    整個應用程式使用的公用輔助方法。

  7. WFActivitys——工作流程活動層(後期擴充)

    定義了工作流程需要的活動,使用微軟WF技術。

  8. WFDesigner——工作流程設計工具(後期擴充)

    可以讓實施人員自由配置工作流程的設計器,使用微軟WPF技術。

     

人員的作用

使用人員的使用者名稱和密碼登陸系統

人員和部門之間有一張關聯表,而部門是一個典型的自串連表 ,這三張表就構成了一個典型的"多對多資料模型中的一張表是自串連"

下面我們以人員為例子分析"多對多資料模型中的一張表是自串連"資料模型,代碼已在產生的檔案中,並且注釋詳備,此文不再贅述

資料模型

部門和人員之間是多對多的關係,而部門又是一張自串連的表

查詢

 

列表

頁面展示層AppMvc中的View的代碼

此列表頁面是參照\jquery-easyui-1.2.3\demo\tree.html頁面開發的

 

Mvc中的Controller的代碼

 

Mvc中的Model的代碼

Model就是Entity Framework自動產生的實體

業務介面層IBLL

此層作為商務邏輯層方法的介面,也是WCF對外暴露的契約

商務邏輯層BLL

資料字典類的商務邏輯寫在BLL類庫中,事務使用TransactionScope對象,SysPersonBLL.cs類檔案裡面封裝了商務邏輯的操作方法,並且繼承了BaseBLL基類

整個項目應該遵循的原則是:胖BLL,瘦mvc

資料訪問層DAL

其中SysPerson.cs檔案放置的是表的實體和實體中繼資料的驗證,而SysPersonRepository.cs檔案放置的是訪問資料庫的方法

業務實體在SysPerson.cs檔案中的SysPerson類,它是一個分部 partial 類,內部可以自訂屬性,MetadataType屬性中指定了該實體屬性的校正類SysPersonMetadata,並且它繼承了IBaseEntity介面(此介面暫時沒有任何成員);

SysPerson.cs檔案中還有一個SysPersonMetadata類用於校正SysPerson類中的成員。注意校正類需要引用using System.ComponentModel.DataAnnotations;命名空間。

服務層

(後期擴充)

刪除

先選中一條,然後點擊刪除

建立

選擇部門(樹形結構)

選擇角色(非樹形結構)

修改

查看詳細資料

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.