国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

第一個(gè)模塊

2019-04-04 17:40 更新

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

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

    using System.Collections.Generic;

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

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

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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)