Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySql के साथ इकाई फ्रेमवर्क 6 का उपयोग करके DbUpdateConcurrencyException

आपको डीबी टाइमस्टैम्प/रोवर्जन सुविधा का उपयोग करने की कोशिश करनी चाहिए। ईएफ में आप बाइटएरे घोषित करते हैं और इसे समवर्ती जांच फ़ील्ड के रूप में नामित करते हैं। डीबी सृजन पर मूल्य निर्धारित करता है। बाद के सभी अपडेट मान की जांच कर सकते हैं कि डीबी अपडेट रोवर्जन को उचित रूप में नहीं बदला गया है। यह दृष्टिकोण SQL सर्वर पर काम करता है। इसे MYSql पर उसी तरह व्यवहार करना चाहिए।

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

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

    }

या धाराप्रवाह के माध्यम से यदि आप//प्राथमिक 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(); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

आशावादी समवर्ती पैटर्न पर दस्तावेज़



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक बार में सभी टेबल की मरम्मत करें

  2. कॉलम से अवांछित चरित्र हटाना

  3. MySQL पिवट क्वेरी

  4. mysql . के साथ उल्का

  5. यदि किसी अन्य तालिका में आईडी मौजूद है तो कॉलम को सही / गलत के रूप में चुनें