Внезапная конкуренция в EntityFrameworkCore + MySql (Pomelo)

271
01 декабря 2017, 02:58

Приветсвую!Возможно кто-то сталкивался с подобной проблемой,но вопроса по теме тут не нашел(хотя плохо исал) Гугл кидает на гитхуб где данная ошибка рассматривалась в случае с обновлением записи. В моем случае оно возникает при ее добавлении. Задаю вопрос до того как пойму гайд на MSDN (он тоже как я понял из кода про обновление записи) на который указывает экзепшн, т.к. в любом случае прийду сюда если ничего не выйдет...

...ну а теперь больше по делу:

Возникло исключение: CLR/Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException
An exception of type 'Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException' occurred in Microsoft.EntityFrameworkCore.dll but was not handled in user code: 'Database operation expected to affect 1 row(s) but actually affected 0 row(s). Data may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions.'

Orders.cs:

using System;
using System.Collections.Generic;
namespace KupcheAspNetCore
{
    public partial class Orders
    {
        public Orders()
        {
            Orderfiles = new HashSet<Orderfiles>();
            Orderimages = new HashSet<Orderimages>();
        }
        public int IdOrders { get; set; }
        public string Caption { get; set; }
        public string Text { get; set; }
        public string Geomap { get; set; }
        public decimal? Cost { get; set; }
        public int? Viewers { get; set; }
        public int UsersId { get; set; }
        public sbyte? ThereImages { get; set; }
        public sbyte? ThereFiles { get; set; }
        public sbyte? IsDeleted { get; set; }
        public DateTimeOffset AdditionTime { get; set; }
        public DateTimeOffset LastUpdate { get; set; }
        public Users Users { get; set; }
        public ICollection<Orderfiles> Orderfiles { get; set; }
        public ICollection<Orderimages> Orderimages { get; set; }
    }
}

Coutnry.cs:

using System;
using System.Collections.Generic;
namespace KupcheAspNetCore
{
    public partial class Country
    {
        public Country()
        {
            City = new HashSet<City>();
        }
        public int IdCountry { get; set; }
        public string Name { get; set; }
        public string ShortName { get; set; }
        public DateTimeOffset AdditionTime { get; set; }
        public DateTimeOffset LastUpdate { get; set; }
        public ICollection<City> City { get; set; }
    }
}

ordersController.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using KupcheAspNetCore.Models;
namespace  KupcheAspNetCore.Controllers
{
    [Route("api/[controller]")]
    public class OrdersController : Controller
    {
        [HttpPost]
        public IActionResult PostOrders([FromBody]Orders order)
        {
            if(ModelState.IsValid)
            {
                Country neworder = new Country();
                neworder.Name = "caption";
                neworder.ShortName = "texttextextext";
                // neworder.Cost = 6;
                // neworder.UsersId = 1;
                using(servicedbContext db = new servicedbContext()){
                    db.Country.Add(neworder);
                    db.SaveChanges();
                    Console.WriteLine("Post response order: "+ neworder.Name.ToString());
                    return Ok(neworder);
                }
            }
            else
            {
                return BadRequest(ModelState);
            }
        }
    }
}

Пробовал брать более простую таблица(видно на скрине). Возможно ли так же что это как-то касается MySQL конкретно? Заранее благодарю!

READ ALSO
Как поставить степень в C#

Как поставить степень в C#

Как можно поставить степень в тексте C#? Имеется ввиду надстрочный знак в текстовом элементе на платформе ASP

365
Как написать новую библиотеку Entity Framework?

Как написать новую библиотеку Entity Framework?

Есть старая нереляционная СУБД Oracle Codasyl DBMS, для которой нет готовой библиотеки Entity FrameworkХоть она и не реляционная, но с принципами EF кажется...

242
Как вызвать callback функцию c# из с++ dll

Как вызвать callback функцию c# из с++ dll

То есть в коде c# я хотел бы объявить функцию для c++ dll, чтобы она знала, какую функцию ей вызыватьИ потом в процессе работы dll, чтобы сама dll вызывала...

288