我有一个Game模型,在这个模型中有2个属性,HasDlc和IsDlc
public class Game
{
public bool HasDlc { get; set; }
public virtual ICollection<Dlc> Dlc { get; set; }
public bool IsDlc { get; set; }
public virtual Dlc DlcFor { get; set; }
}
游戏既可以是dlc,也可以是dlc(或者两者都可以是假的,但两者都不可能是真的)。一个游戏可以有很多Dlc,但Dlc只能有一个游戏。
Dlc只是Game对象的另一个实例。因此,如果游戏是DLC,我希望它与Dlc的游戏相关联。如果游戏有Dlc,我想获得组成其Dlc的游戏列表。
需要有一些看起来像这样的Dlc类
public class Dlc
{
public int Id { get; set; } //this needs to be the id of the game that is dlc
public int GameId { get; set; } //this needs to be the id that game it is dlc for
public virtual Game DlcFor { get; set; } //this needs to be the game object it is dlc for
}
我甚至不确定我尝试做的事情是否有意义,我的想法是难以建立联系。任何人都可以帮我解决这个问题,或者至少为我想做的事情提出替代解决方案吗?
答案 0 :(得分:0)
我只是将dlc信息保存在dlc表中,将该关系定义为一个游戏到多个dlc。
public class Game
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Dlc> Dlcs { get; set; }
}
public class Dlc
{
public int Id { get; set; }
public string Name { get; set; }
public int GameId { get; set; }
public virtual Game game { get; set; }
}
然后检查游戏是否有dlcs,我们可以检查Dlcs集合是否为空或空。 根据我的理解,dlc通常带有现实世界中的游戏。 (如果我错了,请纠正我。)