我有两个类,所以:
[表(“GameLevels”,Schema =“ref”)]公共课GameLevel{ [键] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id {get;组; } …
您不能完全删除外键,否则,您如何期望链接两个实体(即表)?你可以做的是拥有一个可以为空的FK,这将有效地使关系为零或一对多。
在你的 GameLevel class,添加导航属性作为集合 UserGameProfile :
GameLevel
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 可空:
GameLevelId
public class UserGameProfile { // ... // ... public int? GameLevelId { get; set; } [ForeignKey("GameLevelId")] public virtual GameLevel GameLevel { get; set; } }
这应该可以工作,甚至不必使用Fluent API。