所以我有这张已经用EF填充并建立的表
public class Item
{
public int Id { get; set; }
public string Description { get; set; }
//ForeignKey from SubCats table
public int? SubCatId { get; set; }
public SubCat SubCat { get; set; }
public byte? Image { get; set; }
public int PointId { get; set; }
public int Points { get; set; }
}
无论如何,我已经将数据库连接到sql server management studio,并且EF给我一个错误,即使我每次迁移都已经更新了数据库,我的所有迁移仍在等待中,但我想它与sql server management studio有关!所以我试图再次运行更新数据库,它给了我这个错误:
为表“项目”指定了多个标识列。每个表只允许一个标识列。
我进行了搜索,所有答案都与重命名键列有关,但问题是我没有重命名!请给我解决这个问题的方法 p.s我是新手,请保持简单的答案,以便我理解
答案 0 :(得分:0)
明确指定Item
的主键和外键,如下所示:
public class Item
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Description { get; set; }
[ForeignKey("SubCat")]
public int? SubCatId { get; set; }
public SubCat SubCat { get; set; }
public byte? Image { get; set; }
[ForeignKey("Point")]
public int PointId { get; set; }
public Point Point { get; set; }
}
希望这可以解决您的问题。