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

  • 相关阅读:
    负载均衡
    nginx 负载均衡
    linux crontab 定时任务
    linux各种查看端口号
    MYSQL集群
    linux ntp时间同步
    【推荐】开源项目ElasticAmbari助力 ElasticSearch、Kibana、ambari服务高效运维管理
    Flutter开发指南之理论篇:Dart语法05(单线程模型,事件循环模型,Isolate)
    对于 评论 发送,出现网络延迟、响应慢,用户多次点击发送按钮,怎么解决只生成一次数据存入DB
    第三方授权登录
  • 原文地址:https://www.cnblogs.com/colorful-Ji/p/7056630.html
Copyright © 2011-2022 走看看