1
我有一個ASP.NET MVC 4 WEBAPI項目與實體框架4.3 它有3個表在我的MS SQL DB:ASP.NET MVC 4 WEBAPI實體框架4.3:什麼是從集合中保存「多對多」的最佳方式
膳食 MealCategory 類別
第二個表是1和3的(多對多連接)的連接。 這裏是我的膳食模式:
[Table("Meal")]
public class Meal
{
[Key]
public long MealID { get; set; }
public string MealName { get; set; }
...
public virtual ICollection<Category> Categories { get; set; }
}
這裏是我的分類模型:
[Table("Category")]
public class Category
{
[Key]
public long CategoryID { get; set; }
...
public virtual ICollection<Meal> Meals { get; set; }
}
我使用的代碼第一。而且有一個的DbContext:
public class DgDbContext : DbContext
{
public DbSet<Category> Category { get; set; }
public DbSet<Meal> Meal { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Meal>().
HasMany(c => c.Categories).
WithMany(p => p.Meals).
Map(
m =>
{
m.MapLeftKey("MealID");
m.MapRightKey("CategoryID");
m.ToTable("MealCategory");
});
}
}
我也有一個動作:
// POST /api/<controller>/<action>
public HttpResponseMessage PostMeals(IEnumerable<Meal> meals)
{
...
}
所以現在的問題是:什麼是救我所有的餐類別和MealCategory所有連接到DB的最好方法是什麼?