这是我的型号代码:
public class Dog
{
[Key]
public int DogID { get; set; }
[Required()]
[Display(Name = "Namn")]
public string DogName { get; set; }
[Required()]
public int KennelID { get; set; }
[ForeignKey("KennelID")]
public virtual Kennel Kennel { get; set; }
[Required()]
public int RaceID { get; set; }
[ForeignKey("RaceID")]
public virtual Race Race1 { get; set; }
public int RaceID { get; set; }
[ForeignKey("RaceID")]
public virtual Race Race2 { get; set; }
public int RaceID { get; set; }
[ForeignKey("RaceID")]
public virtual Race Race3 { get; set; }
public int RaceID { get; set; }
[ForeignKey("RaceID")]
public virtual Race Race4 { get; set; }
错误讯息:
Models.Dog' already contains a definition for 'RaceID'
Models.Dog' already contains a definition for 'RaceID'
Models.Dog' already contains a definition for 'RaceID'
我不明白为什么MVC不会让我开始这样做!为什么模型不能具有从Race1, Race2, Race3, Race4
模型中的RaceID
ForeignKey属性中选择的多个属性(Race
)?
这真让我烦恼。我查看了一些关于此错误的搜索结果,但我不理解它们。
所以问题:如何将一个属性的多个实例添加到模型中?我在控制器中读到了一个AllowMultiple片段,但我需要了解我正在构建的内容。
是否有任何指南可以让我更好地理解模型关系? 我更喜欢视频或逐步风格的指南。
答案 0 :(得分:0)
您不能拥有多个具有相同名称的类成员(在您的情况下为RaceID)。
更改为:
public int Race2ID { get; set; }
[ForeignKey("Race2ID")]
public virtual Race Race2 { get; set; }
等等。 Race2ID
将是第二场比赛的身份。