Я предполагаю, что в вашем хранилище у вас есть объект для вашего контекста данных.При вызове EditProduct у вас должно быть что-то вроде:
Product prod = dataContext.Products.Single(p=>p.ProductID == product.ProductID);
prod.PropertyA = product.PropertyA;
prod.PropertyB = product.PropertyB;
dataContext.SubmitChanges();
Вы также можете прикрепить входящий продукт и сохранить его (если у вас есть столбец отметки времени):
dataContext.Products.Attach(product,true);
dataContext.SubmitChanges();
Если вы ненет столбца метки времени, тогда L2S выдаст ошибку о невозможности проверить его состояние.
Сущность может быть присоединена как измененная без исходного состояния, только если она объявляет член версии или нетиметь политику проверки обновлений.
Если вы добавите столбец отметки времени в свою БД, то L2S может выполнить вышеупомянутое.
Вот более глубокое объяснение.