我有一个名为的表Tour
和另一个表名TourPlan
。这些表的相关性如下;
Tour TourPlan
Id (PK,int,not null) Id (PK, int, not null)
Title (nvarchar(100), null) Title (nvarchar(100), null)
TourId (FK, int, not null)
TourPlan
问题是用现有值更新表。
这是我的更新代码;
Tour tour = TourController.GetTourById(Int32.Parse("13"));
tour.TourPlan.Clear();
foreach (ListItem item in lbPlans.Items)
{
tour.TourPlan.Add(new TourPlan() { Title = item.Text });
}
这是我的更新方法;
public static int UpdateTour(Tour tour)
{
using (var context = new aisatourismEntities())
{
Tour tUpd = context.Tour.FirstOrDefault(t => t.Id == tour.Id);
if (tUpd != null)
{
tUpd.Title = tour.Title;
tUpd.TourPlan = tour.TourPlan;
}
return context.SaveChanges();
}
}
但它没有更新,它两次插入计划。我该如何解决这个问题?