У меня есть проект ASP.NET MVC 4 WEBAPI с Entity Framework 4.3 У этого есть 3 таблицы в моей MS SQL DB:ASP.NET MVC 4 WEBAPI Entity Framework 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?