Я создаю приложение ASP.NET MVC2 и использую Entity Framework в качестве ORM. У меня проблемы с обновлением объекта в базе данных. Каждый раз, когда я пытаюсь использовать entity.SaveChanges (), EF вставляет новую строку в таблицу независимо от того, требуется ли обновление или вставка. Я попытался прикрепить (как в следующем примере) объект к объекту, но затем я получил
{"An object with a null EntityKey value cannot be attached to an object context."}
Вот моя простая функция для вставок и обновлений (на самом деле это не относится к транспортным средствам, но проще объяснить так, хотя я не думаю, что этот эффект отвечает вообще) ...
public static void InsertOrUpdateCar(this Vehicles entity, Cars car)
{
if (car.Id == 0 || car.Id == null)
{
entity.Cars.AddObject(car);
}
else
{
entity.Attach(car);
}
entitet.SaveChanges();
}
Я даже пытался использовать AttachTo («Автомобили», автомобиль), но я получил то же исключение.
Кто-нибудь имеет опыт работы с этим?