Je suis très nouveau à Entity Framework et j'essaie de comprendre les relations. J'ai trouvé ce code:HasOne pas trouvé dans EF 6
class MyContext : DbContext
{
public DbSet<Post> Posts { get; set; }
public DbSet<Tag> Tags { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<PostTag>()
.HasKey(t => new { t.PostId, t.TagId });
modelBuilder.Entity<PostTag>()
.HasOne(pt => pt.Post)
.WithMany(p => p.PostTags)
.HasForeignKey(pt => pt.PostId);
modelBuilder.Entity<PostTag>()
.HasOne(pt => pt.Tag)
.WithMany(t => t.PostTags)
.HasForeignKey(pt => pt.TagId);
}
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public List<PostTag> PostTags { get; set; }
}
public class Tag
{
public string TagId { get; set; }
public List<PostTag> PostTags { get; set; }
}
public class PostTag
{
public int PostId { get; set; }
public Post Post { get; set; }
public string TagId { get; set; }
public Tag Tag { get; set; }
}
Je reçois une erreur lors de la compilation du code:
« EntityTypeConfiguration » ne contient pas de définition pour « hasOne » et aucune méthode d'extension « hasOne » accepter un premier argument de type « EntityTypeConfiguration » n'a pu être trouvée (êtes-vous manque une directive ou une référence d'assemblage? en utilisant)
J'ai essayé de le trouver o n Google et StackOverflow, mais la seule chose que j'ai trouvé était de savoir comment l'utiliser et non pourquoi cela donne des problèmes. Est-ce que je manque réellement une référence? Si oui, lequel?