none
C# FrameWork IDENTIY_INSERT yapmak RRS feed

  • Soru

  • Merhabalar,

        Sql serverde IDENTITY kolonuna(StockID) otomatik değilde kendim bir değer atamak istiyorum.Kendi araştırmalarım sonucu bir kod buldum ama bu kod ne hata veriyor ne de çalışıyor.

    private void Save()
            {
                using (BarkodDBEntity dbentity = new BarkodDBEntity())
                {
                    //dbentity.Database.Connection.Open();
    
                    dbentity.Database.ExecuteSqlCommand(@"SET IDENTITY_INSERT [dbo].[Stock] ON");
    
                    Stock stc = new Stock();
                    
    
                    stc.StockID = 5;
                    stc.StockCode = "dENEME";
                    stc.StockName = "MERHABA";
    
                    dbentity.Stock.Add(stc);
    
                    dbentity.SaveChanges();
    
                    dbentity.Database.ExecuteSqlCommand(@"SET IDENTITY_INSERT [dbo].[Stock] OFF");
    
                    
    
                }
            }

    Yardımcı olursanız çok sevinirim.

    İyi Günler...

    10 Temmuz 2016 Pazar 10:02

Yanıtlar

  • Şimdi bu sorunuz için geçerli bir nedenmiş gibi durmuyor. Aslında soruna daha derinden bir çözüm bulabilirsiniz; eğer barcode varsa "benzersiz" demektir. Bu durumda otomatik artan bir StockID alanına da ihtiyacınız yok demektir. Bence barkodları primary key alanı olarak kullanmalısınız.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen İSMAİL G 10 Temmuz 2016 Pazar 10:37
    10 Temmuz 2016 Pazar 10:26
    Moderatör

Tüm Yanıtlar

  • neden böyle birşey yapmak istiyorsunuz?

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    10 Temmuz 2016 Pazar 10:14
    Moderatör
  • Merhabalar,

      Barkodlar için ayrı tablo yapmam gerekmekte.Barkodu taradığımda StockID yi bana vermeli.

       İşin ters tarafı kullanıcıya kolaylık olsun diye barkodlar ve ürün kaydetme aynı form üzerinden kaydedilecek.

       Önce ürünü kaydedip sonra barkodları girmesi zor oluyor.

     

    10 Temmuz 2016 Pazar 10:17
  • Şimdi bu sorunuz için geçerli bir nedenmiş gibi durmuyor. Aslında soruna daha derinden bir çözüm bulabilirsiniz; eğer barcode varsa "benzersiz" demektir. Bu durumda otomatik artan bir StockID alanına da ihtiyacınız yok demektir. Bence barkodları primary key alanı olarak kullanmalısınız.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen İSMAİL G 10 Temmuz 2016 Pazar 10:37
    10 Temmuz 2016 Pazar 10:26
    Moderatör
  • Merhabalar,

       Halbuse bildiğim bir konu ama yinede akla gelmiyor.Aynen sizin dediğiniz gibi bu durumda Identy gerek yok.

    Identıty atamak alışkanlık yapmışım her tablo açtığımda otomatik hemen ıdent,primary ataması yaparım hiç kafamda muhasebe yapmadan :)

       Şimdi siz söyledinizde aklıma geldi Identy Otomatik değer atama.

    Hocam değerli cevabınız için size çok teşekkür ederim.

    İyi Günler Hocam...

    10 Temmuz 2016 Pazar 10:37