Ce code ne fonctionne pas. Qu'est-ce qui ne va pas? OnModelCreating n'effectue aucun résultat? Parce que je ne peux pas voir la table "ProductCategories" dans ma base de données.CTP5 vs version 4.1 EF relation plusieurs à plusieurs
public class GoldContext : DbContext
{
public virtual DbSet<Prouct> Products { get; set; }
public virtual DbSet<Category> Categories { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//HACK:4.1 modelBuilder.Conventions.Add(new DecimalPrecisionAttributeConvention());
modelBuilder.Entity<Product>()
.HasMany<Category>(m => m.Categories)
.WithMany().Map(m =>
m.MapLeftKey("ProductId")
.MapRightKey("CategoryId")
.ToTable("ProductCategories"));
base.OnModelCreating(modelBuilder);
}
}
//product and category classes look like this.
public class Product
{
[Key]
public int Id { get; set; }
public virtual string Name { get; set; }
public virtual ICollection<Category> Categories { get; set; }
}
public class Category
{
[Key]
public int Id { get; set; }
public virtual string Name { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
Merci d'avance.
Pouvez-vous fournir plus d'informations? Y a-t-il une chance que vous cherchiez la mauvaise base de données et/ou contexte? Des messages d'erreur? – Diadistis
Salut, j'ai essayé de donner plus d'infos. Il n'y a aucun message d'erreur. tout va bien! mais il n'y a pas de datable comme "ProductCategories" promis pour nous. –
C'est bizarre, j'ai ajouté vos entités/mappings à un projet et tout a fonctionné comme prévu (y compris la table 'ProductCategories'.) – Diadistis