在我的网站上,我使用的是自定义ApplicationUser。我想将收藏夹存储到ApplicationUser上的一个字段中,但我遇到了问题。
我有一个这样的模型:
public class Score
{
public int ScoreId{ get; set; }
}
使用DBContext创建此模型:
public class SongsContext : DbContext
{
public DbSet<Score> Scores { get; set; }
}
然后使用DbContextInitializer播种。
public class ApplicationUser : IdentityUser
{
public List<Scores> FavoriteScores { get; set; }
}
每当我尝试使用EF迁移将其添加到我的数据库时,所有发生的事情是它想要生成通常使用我的DbContext创建的所有模型的表(但实际上并没有为FavoriteScores添加一列我的用户表)。 EF还不会让我存储一个引用ScoreID的整数列表而不创建一个新的类,其唯一目的是保持整数。
使用我的ApplicationUser对象引用Scores列表的最佳方法是什么?
答案 0 :(得分:0)
您需要在Score实体上配置多对一关系。您可以通过向Score类添加对Application user Id的引用来实现。
public class Score
{
public int ScoreId{ get; set; }
public int ApplicationUserId{ get; set; }
[ForeignKey("ApplicationUserId")]
public virtual ApplicationUser ApplicationUser{ get; set; }
}
您可以在此处详细了解多对一关系http://www.entityframeworktutorial.net/code-first/configure-one-to-many-relationship-in-code-first.aspx