zoukankan      html  css  js  c++  java
  • 排球积分程序(三)——模型类的设计

    ---恢复内容开始---

    模型类

    根据需求的要求需要一个队伍类,一个队员类,一个主队比分类,一个客队比分类(这两个类可以合成一个,但是建立外键的时候两个外键不知道该怎么去解决,于是分开了)

    队伍模型

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace MvcVolleyball.Models
    {
        public class Team
        {
            public int teamId { get; set; }//id
            public string teamName { get; set; }//队名
            public List<TeamMember> teamMembers;//队员
        }
    }

    队员模型

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    
    namespace MvcVolleyball.Models
    {
        public class TeamMember
        {
            [Key]
            public int memberId { get; set; }//id
            [ForeignKey("team")]
            public int teamId { get; set; } //队伍id
            public string number { get; set; }//号码
            public string name { get; set; }//姓名
            public DateTime brithDate { get; set; }//出生日期
            public string position { get; set; }//位置
            public int height { get; set; }//身高
            public int weight { get; set; }//体重
            [Required]
            public Team team { get; set; }//队伍
        }
    }

    主队得分模型

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    
    namespace MvcVolleyball.Models
    {
        public class HostTeamScore
        {
            [Key]
            public int id { get; set; }
            public int inningNum { get; set; }//局数
            public int teamId { get; set; }//主队id
           [ForeignKey("teamMember")]
            public int memberId { get; set; }//得分队员id       
            public int hostTeamScore { get; set; }//主队得分
            [Required]
            public TeamMember teamMember { get; set; }
           
           
        }
    }

    客队得分模型

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    
    namespace MvcVolleyball.Models
    {
       public class GuestTeamScore
        { 
            [Key]
            public int id { get; set; }
            public int inningNum { get; set; }//局数
            
            [ForeignKey("teamMember")]
            public int memberId { get; set; }//得分队员id         
            public int guestTeamScore { get; set; }//客队得分
    
           [Required]
            public TeamMember teamMember { get; set; } 
           
         
        }
    }

    队伍模型中有队员的集合  而每一个队员有自己的编号以及所属队伍,故teamId作为外键。

    而每一个队员有自身的memberId 这就与得分模型中的menmberId作为外键关联起来,从而精确到得分的队员。

    另:建立外键参考了这一系列博客

    Entity Framwork CodeFirst 学习笔记一:EF 概念和初次接触CodeFirst

  • 相关阅读:
    numpy 基础 —— np.linalg
    图像旋转后显示不完全
    opencv ---getRotationMatrix2D函数
    PS1--cannot be loaded because the execution of scripts is disabled on this system
    打开jnlp Faild to validate certificate, the application will not be executed.
    BATCH(BAT批处理命令语法)
    oracle vm virtualbox 如何让虚拟机可以上网
    merge 实现
    Windows batch,echo到文件不成功,只打印出ECHO is on.
    python2.7.6 , setuptools pip install, 报错:UnicodeDecodeError:'ascii' codec can't decode byte
  • 原文地址:https://www.cnblogs.com/colorful-Ji/p/7056630.html
Copyright © 2011-2022 走看看