• 排球积分程序(三)——模型类的设计


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

    模型类

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

    队伍模型

    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

  • 相关阅读:
    《Java程序设计》第七次学习总结
    《Java程序设计》第六次学习总结
    实验二:Java面向对象程序设计
    《信息安全系统设计基础》第二次学习总结
    《信息安全系统设计基础+Linux 内核分析》第一次学习总结
    《Java程序设计》第五次学习总结
    《Java程序设计》第四次学习总结
    《Java程序设计》第三次学习总结
    next_permutation 函数
    POJ 3268 (dijkstra算法)
  • 原文地址:https://www.cnblogs.com/colorful-Ji/p/7056630.html
Copyright © 2020-2023  润新知