在实体框架中将数据插入到具有有效负载的多对多联结表中

时间:2012-02-27 12:48:45

标签: entity-framework-4

我有一个Cake表和一个成分表,一个蛋糕由许多成分组成,一个成分可以在许多蛋糕中,所以我创建了多个映射与连接表cake_ingredients。此外,每种蛋糕使用不同量的每种成分。例如,在蛋糕风味A中,您可能需要1.25kg面粉,而在蛋糕风味B中则需要1.5kg。由于成分的数量不同,每种蛋糕中使用的每种成分的成本将不同。因此,我的连接表需要与有效负载一起使用,附加列是数量和成本。我已按照this tutorial成功创建了这种关系。

我可以通过修改上面教程中的以下代码块,将cake_idingredient_id成功添加到连接表中

private void UpdateInstructorCourses(string[] selectedCourses, Instructor instructorToUpdate)
{
    if (selectedCourses == null)
    {
        instructorToUpdate.Courses = new List<Course>();
        return;
    }

    var selectedCoursesHS = new HashSet<string>(selectedCourses);
    var instructorCourses = new HashSet<int>
    (instructorToUpdate.Courses.Select(c => c.CourseID));
    foreach (var course in db.Courses)
    {
        if (selectedCoursesHS.Contains(course.CourseID.ToString()))
        {
            if (!instructorCourses.Contains(course.CourseID))
            {
                instructorToUpdate.Courses.Add(course);
            }
        }
    else
    {
        if (instructorCourses.Contains(course.CourseID))
        {
            instructorToUpdate.Courses.Remove(course);
        }
    }
}

插入数量和成本会产生麻烦(这将被计算)。

我该如何解决这个问题?我想如果有人可以帮我插入数量,我将能够插入计算出的费用。

0 个答案:

没有答案