Ich habe ein ASP.NET MVC 4 WEBAPI-Projekt mit Entity Framework 4.3 Es hat 3 Tabellen in meinem MS SQL DB:ASP.NET MVC 4 WEBAPI Entity Framework 4.3: Was ist der beste Weg, um "viele zu viele" aus Sammlung zu speichern
Meal MealCategory Kategorie
die zweite Tabelle ist die Verbindung von 1 und 3 (viele zu viele-Verbindung). Hier ist meine Mahlzeit Modell:
[Table("Meal")]
public class Meal
{
[Key]
public long MealID { get; set; }
public string MealName { get; set; }
...
public virtual ICollection<Category> Categories { get; set; }
}
Und hier ist meine Kategorie Modell:
[Table("Category")]
public class Category
{
[Key]
public long CategoryID { get; set; }
...
public virtual ICollection<Meal> Meals { get; set; }
}
I-Code zuerst mit bin. Und hat eine 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");
});
}
}
Auch habe ich eine Aktion:
// POST /api/<controller>/<action>
public HttpResponseMessage PostMeals(IEnumerable<Meal> meals)
{
...
}
So ist die Frage: Was ist der beste Weg, um all meine Mahlzeiten speichern mit allen Verbindungen zu Kategorie und MealCategory bis DB?