Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

DbUpdateConcurrencyException menggunakan Entity Framework 6 dengan MySql

Anda harus mencoba menggunakan fitur DB Timestamp / Rowversion. Di EF Anda mendeklarasikan ByteArray dan menominasikannya sebagai bidang pemeriksaan Concurrency. DB menetapkan nilai saat pembuatan. Semua pembaruan berikutnya dapat memeriksa nilai belum mengubah versi baris pembaruan DB sebagaimana mestinya. Pendekatan ini bekerja pada SQL server. Ini harus berperilaku dengan cara yang sama di MYSql.

    public  abstract class BaseObject  {
    [Key]
    [Required]
    public virtual int Id { set; get; }

    [ConcurrencyCheck()]
    public virtual byte[] RowVersion { get; set; }

    }

atau melalui fasih jika Anda suka// Primary Keythis.HasKey(t => t.Id);

        // Properties
        //Id is an int allocated by DB , with string keys, no db generation now
        this.Property(t => t.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); // default to db generated

        this.Property(t => t.RowVersion)
            .IsRequired()
            .IsFixedLength()
            .HasMaxLength(8)
            .IsRowVersion(); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Dokumen tentang pola konkurensi optimis



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah kita membatasi jumlah baris dalam tabel di MySQL?

  2. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Tidak ada operasi yang diizinkan setelah koneksi ditutup

  3. MySQL, beberapa baris untuk memisahkan bidang

  4. Tabel MySQL tidak ada kesalahan, tetapi memang ada

  5. Kode Kesalahan MySQL:1411. Nilai datetime salah:'' untuk fungsi str_to_date