Создайте рецепты и ингредиенты, затем для каждого ингредиента создайте отношение, связанное с ингредиентом. Добавьте каждое из этих отношений в рецепт и вставьте рецепт в базу данных.
var recipe = new Recipe { Name = "Dough" };
var ingredients = new []
{
new Ingredient { Name = "water", Unit = "cups", Amount = 2.0 },
new Ingredient { Name = "flour", Unit = "cups", Amount = 6.0 },
new Ingredient { Name = "salt", Unit = "teaspoon", Amount = 2.0 }
};
foreach (var ingredient in ingredients)
{
var relation = new IngredientsRecipesRelations();
relation.Ingredient = ingredient;
recipe.IngredientsRecipesRelations.Add(relation);
}
DataContext.Recipes.InsertOnSubmit(recipe);
DataContext.SubmitChanges();
Обратите внимание, что вы можете добавить частичные реализации класса с методами, чтобы скрыть это поведение от класса, который его использует. Вы хотели бы сделать ассоциации внутри области действия, а затем предоставить некоторые открытые методы для добавления / удаления компонентов, которые работают с внутренней ассоциацией, как я продемонстрировал выше.