此處詳細(xì)記錄了現(xiàn)實(shí)項(xiàng)目中多對(duì)多數(shù)據(jù)模型列表頁(yè)面和增刪改查頁(yè)面。
狼奔代碼生成器可以自動(dòng)生成ASP.NET頁(yè)面及后臺(tái)代碼。
生成的項(xiàng)目用到的技術(shù)有:+MVC+ 。
實(shí)踐開發(fā)過(guò)程中,我們使用設(shè)計(jì)數(shù)據(jù)庫(kù)模型。狼奔代碼生成器就是讀取設(shè)計(jì)的數(shù)據(jù)庫(kù)模型,分析其中的表與表之間的關(guān)系模型,分析其中的表和字段的說(shuō)明信息中的關(guān)鍵字,自動(dòng)生成不同的頁(yè)面。
表與表之間的關(guān)系模型包括
單表數(shù)據(jù)模型
自連接數(shù)據(jù)模型
一對(duì)一數(shù)據(jù)模型
一對(duì)多數(shù)據(jù)模型
一對(duì)多數(shù)據(jù)模型中的一張表是自連接
多對(duì)多數(shù)據(jù)模型
多對(duì)多數(shù)據(jù)模型中的一張表是自連接
關(guān)鍵字包括
查詢
狀態(tài)
上傳
工作流
架構(gòu)圖
組件說(shuō)明
圖表 1項(xiàng)目組件說(shuō)明圖
App——頁(yè)面展示層
采用MVC框架狼奔代碼生成器6.5,使用腳本庫(kù),控件選用。
——服務(wù)宿主(后期擴(kuò)展)
為對(duì)外的服務(wù)提供宿主,使用WCF技術(shù),HTTPS通訊協(xié)議。
IBLL——業(yè)務(wù)接口層
業(yè)務(wù)邏輯層的方法對(duì)外暴露的接口和服務(wù)契約。
BLL——業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯的操作狼奔代碼生成器6.5,包括業(yè)務(wù)處理,事務(wù),日志。
DAL——數(shù)據(jù)訪問(wèn)層
數(shù)據(jù)庫(kù)訪問(wèn)的操作,數(shù)據(jù)實(shí)體,業(yè)務(wù)實(shí)體,數(shù)據(jù)校驗(yàn),使用 。
——公共組件層
整個(gè)應(yīng)用程序使用的公共輔助方法。
——工作流活動(dòng)層(后期擴(kuò)展)
定義了工作流需要的活動(dòng),使用微軟WF技術(shù)。
——工作流設(shè)計(jì)器(后期擴(kuò)展)
可以讓實(shí)施人員***配置工作流的設(shè)計(jì)器,使用微軟WPF技術(shù)。
采購(gòu)計(jì)劃明細(xì)和分發(fā)的作用
業(yè)務(wù)需求:將采購(gòu)計(jì)劃明細(xì)中的物資分發(fā)到不同的站點(diǎn)
采購(gòu)計(jì)劃明細(xì)和分發(fā)之間有一張關(guān)聯(lián)表,這三張表就構(gòu)成了一個(gè)典型的"多對(duì)多數(shù)據(jù)模型"
下面我們以分發(fā)為例子分析"多對(duì)多數(shù)據(jù)模型"數(shù)據(jù)模型,代碼已在生成的文件中,并且注釋詳備,此文不再贅述
數(shù)據(jù)模型
采購(gòu)計(jì)劃明細(xì)和分發(fā)之間是多對(duì)多的關(guān)系
查詢
設(shè)計(jì)表的時(shí)候,在"分發(fā)數(shù)量"字段的注釋處寫上"查詢",另外"分發(fā)數(shù)量"字段是int類型,所以呈現(xiàn)兩個(gè)輸入框,輸入范圍
列表
頁(yè)面展示層中的View的代碼
Mvc中的的代碼
Mvc中的Model的代碼
Model就是 自動(dòng)生成的實(shí)體
業(yè)務(wù)接口層IBLL
此層作為業(yè)務(wù)邏輯層方法的接口,也是WCF對(duì)外暴露的契約
業(yè)務(wù)邏輯層BLL
數(shù)據(jù)字典類的業(yè)務(wù)邏輯寫在BLL類庫(kù)中,事務(wù)使用對(duì)象,.cs類文件里面封裝了業(yè)務(wù)邏輯的操作方法,并且繼承了基類
整個(gè)項(xiàng)目應(yīng)該遵循的原則是:胖BLL,瘦mvc
數(shù)據(jù)訪問(wèn)層DAL
其中FenFa.cs文件放置的是表的實(shí)體和實(shí)體元數(shù)據(jù)的驗(yàn)證,而.cs文件放置的是訪問(wèn)數(shù)據(jù)庫(kù)的方法
業(yè)務(wù)實(shí)體在FenFa.cs文件中的FenFa類,它是一個(gè)分部 類,內(nèi)部可以自定義屬性,屬性中指定了該實(shí)體屬性的校驗(yàn)類,并且它繼承了接口(此接口暫時(shí)沒有任何成員);
FenFa.cs文件中還有一個(gè)類用于校驗(yàn)FenFa類中的成員。注意校驗(yàn)類需要引用using ..;命名空間。
服務(wù)層
(后期擴(kuò)展)
刪除
先選中一條,然后點(diǎn)擊刪除
創(chuàng)建
選擇分發(fā)
修改