Обновить сущность в бд по id

212
10 января 2017, 23:36

Исключение типа "System.InvalidOperationException" возникло в EntityFramework.dll, но не было обработано в коде пользователя

Дополнительные сведения: Не удалось присоединить сущность типа "WebApplication6.Models.1News", поскольку другая сущность этого же типа уже имеет такое же значение первичного ключа. Такое возможно при использовании метода "Attach" или задании сущности состояния "Unchanged" или "Modified", если какие-либо сущности в графе имеют конфликтующие значения ключей. Такое возможно из-за того, что некоторые сущности являются новыми и пока еще не получили значения ключей, сформированные базой данных. В этом случае используйте метод "Add" или состояние сущности "Added" для отслеживания графа, а затем задайте сущностям, которые не являются новыми, состояние "Unchanged" или "Modified".

[Authorize(Roles = "admin")]
[HttpGet]
public ActionResult Edit(int Id)
{
    var picture = db.Pictures.Find(Id);
    return View(picture);
}
[Authorize(Roles = "admin")]
[HttpPost]
[ValidateAntiForgeryToken]
[ValidateInput(false)]
public ActionResult Edit([Bind(Include = "SitenewsId,NameMan,Message,DateAdded,Name,Image,Checkbox1,Checkbox2,Checkbox3")] Picture picture, HttpPostedFileBase uploadImage)
{
    if (ModelState.IsValid && uploadImage != null)
    {
        byte[] imageData = null;
        using (var binaryReader = new BinaryReader(uploadImage.InputStream))
        {
            imageData = binaryReader.ReadBytes(uploadImage.ContentLength);
        }
        picture.DateAdded = DateTime.Now;
        picture.Image = imageData;
        db.Pictures.Attach(picture);
        db.Entry(picture).State = EntityState.Modified;
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(picture);
}

Выдаёт ошибку на db.Pictures.Attach(picture);
Если строку убрать то на db.Entry(picture).State = EntityState.Modified;

public class Picture
{
    [Key]
    public int SitenewsId { get; set; }
    public string NameMan { get; set; }
    [DataType(DataType.MultilineText)]
    public string Message { get; set; }
    public DateTime? DateAdded { get; set; }
    public string Name { get; set; } 
    public byte[] Image { get; set; }
    public bool Checkbox1 { get; set; }
    public bool Checkbox2 { get; set; }
    public bool Checkbox3 { get; set; }
}

В БД 2 ещё таких идентичных таблиц с первичными ключами WorldId и ItnewsId Они обновляются без проблем

READ ALSO
С# Microsoft life cam исключение An exception of type 'System.Windows.Markup.XamlParseException'

С# Microsoft life cam исключение An exception of type 'System.Windows.Markup.XamlParseException'

У меня появилась проблема мне нужно отобразить изображение с камеры используя api lifecam в качестве примера я выбрал этот код

176
C# Asp Net Mvc,ViewBag

C# Asp Net Mvc,ViewBag

приветесть код контролера

172
Чтение из файла в переменную

Чтение из файла в переменную

Есть файл с таким содержимым:

114
Microsoft.Speech.Recognition работает не стабильно

Microsoft.Speech.Recognition работает не стабильно

Начал работать с MicrosoftSpeech

165