This will create two tables “Ingredient” and “Recipe” and an additional table for many-to-many mapping.
public class DC : DbContext {
public DbSet<Ingredient> Ingredients { get; set; }
public DbSet<Recipe> Recipes { get; set; }
}
public class Ingredient {
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Recipe> Recipes { get; set; }
}
public class Recipe {
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Ingredient> Ingredients { get; set; }
}
Question: I want to include additional column “quantity” in the third mapping table that will be created by Entity Framework. How to make that possible? Thanks in advance.
When you’ve got some extra information, I suspect it won’t really count as a mapping table any more – it’s not just a many-to-many mapping. I think you should just model it as another table:
So now you don’t really have a many-to-many mapping – you have two ordinary many-to-one mappings. Do you definitely need to “ingredient to recipes” mapping exposed in your model at all? If you want to find out all the recipes which use a particular ingredient, you could always do a query such as: