0

我有课:

public class Game
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Guid ID { get; set; }

    [InverseProperty("Game")]
    public virtual ICollection<GameMember> Members { get; set; }

    //...
}

public class GameMember
{
    [Key]
    [Column(Order = 0)]
    public Guid GameID { get; set; }

    [InverseProperty("Members")]
    [ForeignKey("GameID")]
    public virtual Game Game { get; set; }

    [Key]
    [Column(Order = 1)]
    public Guid UserID { get; set; }

    public virtual User User { get; set; }

    //...
}

如您所见,我正在尝试制作一个简单的在线游戏。用户可以加入游戏(在这种情况下GameMember会创建一个新游戏)并进入大厅。当所有人都准备好后,比赛开始。我想知道是否有简单的方法来限制成员的数量。如果我可以应用一些属性,例如[Max(4)]to ,那就太好了ICollection<GameMember> Members

4

1 回答 1

2

不,这是不可能的——SQL 中没有等效的构造。
您将需要创建四个属性,每个允许的成员一个。

于 2013-03-20T09:31:57.790 回答