1 回答

TA貢獻1860條經(jīng)驗 獲得超9個贊
您不能完全刪除外鍵,否則,您希望如何鏈接兩個實體(即表)?相反,您可以做的是擁有一個可為空的 FK,這將有效地使關(guān)系為零或一到多。
在您的GameLevel課程中,將導(dǎo)航屬性添加為以下內(nèi)容的集合UserGameProfile:
public class GameLevel
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public double PointsMin { get; set; }
public double PointsMax { get; set; }
public virtual ICollection<UserGameProfile> UserGameProfiles { get; set; }
}
然后在UserGameProfile類中,使屬性可以為GameLevelId空:
public class UserGameProfile
{
// ...
// ...
public int? GameLevelId { get; set; }
[ForeignKey("GameLevelId")]
public virtual GameLevel GameLevel { get; set; }
}
這應(yīng)該可以工作,甚至不必使用 Fluent API。
- 1 回答
- 0 關(guān)注
- 95 瀏覽
添加回答
舉報