第一個模塊

2019-04-04 17:40 更新

編寫第一個業(yè)務模塊

使用WTM框架編寫業(yè)務模塊非常簡單,你只需要編寫Model層,其他的常用功能都可以通過代碼生成器快速生成 下面演示了如何編寫一個學校信息管理的業(yè)務模塊
  • 首先我們建立一個WTM框架的項目,使用多層的結構,關于如何創(chuàng)建WTM項目,請參考 第一個項目 建立完畢后,結構如下圖
  • 在Model項目下,我們新建一個學校的Model 

    using System.Collections.Generic;

using System.ComponentModel.DataAnnotations;
using WalkingTec.Mvvm.Core;

namespace WalkingTec.Mvvm.Demo.Models
{
    public enum SchoolTypeEnum
    {
        [Display(Name = "公立學校")]
        PUB,
        [Display(Name = "私立學校")]
        PRI
    }

    public class School : BasePoco
    {
        [Display(Name = "學校編碼")]
        [Required(ErrorMessage = "{0}是必填項")]
        [RegularExpression("^[0-9]{3,3}$", ErrorMessage = "{0}必須是3位數(shù)字")]
        public string SchoolCode { get; set; }

        [Display(Name = "學校名稱")]
        [StringLength(50, ErrorMessage = "{0}最多輸入{1}個字符")]
        [Required(ErrorMessage = "{0}是必填項")]
        public string SchoolName { get; set; }

        [Display(Name = "學校類型")]
        [Required(ErrorMessage = "{0}是必填項")]
        public SchoolTypeEnum? SchoolType { get; set; }

        [Display(Name = "備注")]
        [Required]
        public string Remark { get; set; }
    }
}
  • 在DataAccess項目中,修改DataContext文件,讓數(shù)據(jù)庫可以生成Schools表 

using FirstProject.Model;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using WalkingTec.Mvvm.Core;
namespace FirstProject.DataAccess
{
    public class DataContext : FrameworkContext
    {
        public DbSet<School> Schools { get; set; }
        public DataContext(string cs, DBTypeEnum dbtype)
        : base(cs, dbtype)
        {
        }
    }
}
  • 按F5運行,現(xiàn)在我們有一個School的Model,并且讓數(shù)據(jù)庫也生成了相應的表 目前EF不支持自動更新數(shù)據(jù)庫,為了演示的方便,當你修改了Model層,可以把原有數(shù)據(jù)庫刪掉讓EF重新生成新的
  • 下面我們要使用框架自帶的代碼生成器來生成基礎代碼,運行程序之后,點右上角的代碼生成器
  • 在代碼生成器中,我們選擇要生成的Model,填寫這個業(yè)務模塊的名稱和Area,然后點擊生成
  • 接下來,我們可以做一些簡單的配置,比如哪些字段是表單字段,哪些是列表需要顯示的,哪些是搜索條件等等 在這里我們把所有字段都作為表單字段,列表字段和導入字段,把學校編碼,學校名稱和學校類型作為搜索條件,同時把學校類型作為需要批量更新的字段
  • 點擊確定生成代碼,我們會看到一個總結性質的頁面,告訴我們這次一共會生成多少文件 在這個界面中,每個文件我們都可以點擊預覽來查看最終會生成的代碼
  • 確認無誤后,點擊生成代碼來完成最后的生成 生成成功后,退出調試,我們會看到解決方案下多出了我們這次生成的代碼 請注意代碼生成器會覆蓋原有同名文件,請事先做好備份工作
  • 重新編譯項目,再次運行,我們會發(fā)現(xiàn)左側菜單已經(jīng)有學校管理的模塊了,而且增刪改查,導入導出,批量修改,批量刪除等功能已經(jīng)實現(xiàn)好了
意外不意外,驚喜不驚喜,WTM框架就是這么簡單。 當然我們在這里只是展示了簡單的單表操作,對于復雜的一對多和多對多的結構框架依然可以識別并準確生成代碼,小伙伴們可以自行嘗試 **多對多的關系需要手動在中間表的模型類上加[MiddleTable]標記,以便代碼生成器可以正確識別 絕大多數(shù)邏輯都在ViewModel層中,大家可以仔細查看一下ViewModel中生成的代碼,并參考本文檔的其他章節(jié)來了解框架的原理


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號