folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Entity Framework Savechanges İşleminde Objectstatemanager Problemi



Entity Framework Savechanges İşleminde Objectstatemanager Problemi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tqrL
    tqrL's avatar
    Kayıt Tarihi: 07/Temmuz/2010
    Erkek
    ardarda birden fazla veri eklediğimde 
    The changes to the database were committed successfully, but an error occurred while updating the object context. The ObjectContext might be in an inconsistent state. Inner exception message: AcceptChanges cannot continue because the object's key values conflict with another object in the ObjectStateManager. Make sure that the key values are unique before calling AcceptChanges.
    şeklinde bi hata alıyorum biraz bekleyip ekletince çıkmıyor genellikle
     
    BaseService'im aşağıdaki gibi
     
    public void Delete(T entity)
            {
                ObjectSet.DeleteObject(entity);
                Context.SaveChanges();
            }
    
            public void Add(T entity)
            {
                ObjectSet.AddObject(entity);
                Context.SaveChanges();
            }
    
            public void Attach(T entity)
            {
                ObjectSet.Attach(entity);
                Context.SaveChanges();
            }
    
            public void Update(Expression<Func> where, T entity)
            {
                var ent = First(where);
                ent = entity;
                Context.SaveChanges();
            }
     
    problem server kaynaklımı yoksa modelden mi kaynaklanıyor tam anlayamadım arada bir hata çıkmıyor 
    yardımlarınız için şimdiden teşekkürler :)
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    şu link işini görmeli,

    http://stackoverflow.com/questions/1008582/invalidoperationexception-when-calling-savechanges-in-net-entity-framework


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    hatadan anladığım kadarıyla şöyle bir şey olabilir. bir dictionary yapın var, orada key değerinin uniqe yani benzersiz olması gerek, senin eklediğin veriler aynı key e sahipse bu hatayı verebilir yani

     

    Dictionary<string,string> k = new ....

     

    k.Add("a", "12345");

    k.Add("b", "1234546");

    k.Add("c","12345"); //value aynı olsa da problem yok, key in farklı olması gerek

    k.Add("a", "sfgh");   burada hata vardır, çünkü a keyi uniqe olmalıdır.

    gibi bir hata olabilir hocam?


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tqrL
    tqrL's avatar
    Kayıt Tarihi: 07/Temmuz/2010
    Erkek

    SharpShooter bunu yazdı:
    -----------------------------

    şu link işini görmeli,

    http://stackoverflow.com/questions/1008582/invalidoperationexception-when-calling-savechanges-in-net-entity-framework


    -----------------------------

    hacı gördüm onu savechangesin aldığı tüm parametreleri denedim olmadı be

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tqrL
    tqrL's avatar
    Kayıt Tarihi: 07/Temmuz/2010
    Erkek

    unbalanced bunu yazdı:
    -----------------------------

    hatadan anladığım kadarıyla şöyle bir şey olabilir. bir dictionary yapın var, orada key değerinin uniqe yani benzersiz olması gerek, senin eklediğin veriler aynı key e sahipse bu hatayı verebilir yani

     

    Dictionaryk = new ....

     

    k.Add("a", "12345");

    k.Add("b", "1234546");

    k.Add("c","12345"); //value aynı olsa da problem yok, key in farklı olması gerek

    k.Add("a", "sfgh");   burada hata vardır, çünkü a keyi uniqe olmalıdır.

    gibi bir hata olabilir hocam?


    -----------------------------

     

    eklediğim veriler primary key aynı id yi alsa dbyi geçemez ama dbye ekliyor veriyi fakat exception fırlatıyor

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    gözden kaçırdığın bir şey olmalı o zaman hocam. çünkü exception uniqe ile ilgili bir hatayı gösteriyor.. biraz bekletip eklediğinde problem yok demişsin, burada tam olarak ne demek istemişsin


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tqrL
    tqrL's avatar
    Kayıt Tarihi: 07/Temmuz/2010
    Erkek

    unbalanced bunu yazdı:
    -----------------------------

    gözden kaçırdığın bir şey olmalı o zaman hocam. çünkü exception uniqe ile ilgili bir hatayı gösteriyor.. biraz bekletip eklediğinde problem yok demişsin, burada tam olarak ne demek istemişsin


    -----------------------------

    ya Service.aspx diye bişey yazdım jquery ile inputtan sürekli ona veri gönderiyorum çok sık gönderince hata veriyor. 

    bu şekilde get ediyorum diğer taraftada ekletiyorum veriyi.

    $(document).ready(function () {
            $("#btnSendPM").click(function () {
                var tmtext = tinyMCE.activeEditor.getContent();
                //var encodedMsg = $.base64.encode(tmtext);
                $.get('Service.aspx?action=SendPM&toid=<% Response.Write(Request.QueryString["toid"]); %>&msg=' + tmtext);
                $('#pmTable').append('<tr><td><% Response.Write("Today " + DateTime.Now.ToString("hh:mm")); %></td><td><% Response.Write(UserName); %></td><td>' + tmtext + '</td></tr>');
                tinyMCE.activeEditor.setContent("");
            });
        });
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    hımm alakasız gibi geliyor ama çok hızlı gönderme yerine bir bekletme kodu yazsan ne olur? 

    ikinci olark get yaptırmadan rastgele verileri kaydetmeyi dener  misin


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tqrL
    tqrL's avatar
    Kayıt Tarihi: 07/Temmuz/2010
    Erkek

    unbalanced bunu yazdı:
    -----------------------------

    hımm alakasız gibi geliyor ama çok hızlı gönderme yerine bir bekletme kodu yazsan ne olur? 

    ikinci olark get yaptırmadan rastgele verileri kaydetmeyi dener  misin


    -----------------------------

    çok farklı bi yerde basit bi formdan ardarda 2 veri gönderdim yine patladı

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    benim hatadan anladığım kadarıyla, bir objyi kayıt ettiriyorsun sonra diğer kayıtta exception fırlatılıyor çünkü son kayıt ettirmeye çalıştığın objenin keyi, daha önce kayıt ettirdiğin objenin keyiyle eşit.

     

    iki tane veri ve farklı keylerde denemeye çalış. ayrıca db de primary key in auto increase olduğunu da teyit et


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tqrL
    tqrL's avatar
    Kayıt Tarihi: 07/Temmuz/2010
    Erkek

    öyle birşey mümkün olamaz zaten primary keyi set etmeden gönderiyorum

    oracle dbye yazdığım trigger sequenceden id atamasını yapıyor kendisi

    yani veriyi ekliyor fakat ekrana exception fırlatıyor

Toplam Hit: 3464 Toplam Mesaj: 21