LINQ to SQL Update 方法

1. 

 public void UpdateFoods()
{
  using (FoodsDataContext context = new FoodsDataContext())
  {
    food firstFood = (from f in context.foods
      where f.id == 1
      select f).First<food>();
    firstFood.calories = 100;
    context.SubmitChanges();
  }
}

2.

public bool UpdateCustomFood(food customFood)
{
  bool result = false;
  using (DataLayerDataContext context = new DataLayerDataContect())
  {
    context.foods.Attach(customFood, true);
    try
    {
      context.SubmitChanges();
      result = true;
    }
    catch (ChangeConflictException e)
    {
      // Handle the change conflict here
    }
  return result;
  }
}

3.You can either pass in both a copy of the new object along with the original or you can choose to have LINQ to SQL ignore concurrency altogether. Here is the same update method that sends back a copy of the original object along with the updated version:

public bool UpdateCustomFood(Food original, Food updated)
{
  bool result = false;
  using (DataLayerDataContext context = new DataLayerDataContect())  
  {
    context.foods.Attach(original, false);
    original.name = updated.name;
    try
    {
      context.SubmitChanges();
      result = true;
    }
    catch (ChangeConflictException e)
    {
      // Handle the change conflict here
    }
    return result;
  }
}

原文地址:https://www.cnblogs.com/YSO1983/p/1831482.html