4
此代碼無效。哪裏不對? OnModelCreating不會產生任何結果?因爲我無法在我的數據庫中看到「ProductCategories」表。CTP5 vs release 4.1 EF多對多關係
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; }
}
在此先感謝。
你能否提供更多信息?有沒有機會看到錯誤的數據庫和/或上下文?任何錯誤消息? – Diadistis
嗨,我試圖給更多的信息。沒有任何錯誤消息。一切都好!但是我們沒有爲「ProductCategories」制定數據表。 –
這很奇怪,我已經添加了你的實體/映射到一個項目,並且一切按預期工作(包括'ProductCategories'表格 – Diadistis