folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Linq İle MSSQL De Kolon Ekleme



Linq İle MSSQL De Kolon Ekleme

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    Merhaba arkadaşlar

    Başlık mümkün mü?

    Yani c# tarafında linq ile tabloya kolon ekleyebiliriz miyiz.

    Aslında fikir mülahazası da yapabiliriz.

    Programı kullananlar yeni verisyonu aldıklarında sql de bazı tabloların eklenmesi gerekiyor.

    Mecburen bağlanıp ben manuel olarak yapmak zorunda kalıyorum.

    Bunu pratik olarak nasıl yapabilirim fikri olan?

    (bu arada güncelleme alan her bayinin kendi bilgisayarında mssql kurulu. kendi veritabanlarını kullanıyorlar.)

    Asayisci tarafından 31/Oca/20 00:56 tarihinde düzenlenmiştir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    linq ile tabloyu degistiremezsin ya da yeni tablo olusturamazsin ama kodunda sql kodu cagirabilirsin.. Yapini tam bilmiyorum ama datacontext'in varsa ExecuteCommand ile sql kodu cagirabilirsin.. örnek

    dbContext.ExecuteCommand("ALTER TABLE tablom ADD ekKolon VARCHAR (255) NOT NULL;");


    gibi

     

    edit: kod eksik eklenmis nedense düzelttim

    edit2: sorunun icinde bir de tablo ekleme kismi var. Onu da ayni sekilde yapabilrsin.. sadece create table ... diyeceksin

     

     

     

     

    unbalanced tarafından 31/Oca/20 01:44 tarihinde düzenlenmiştir

    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    teşekkür ederim dostum. hemen deniyeceğim..

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Https
    Https's avatar
    Kayıt Tarihi: 05/Ağustos/2017
    Erkek
    unbalanced bunu yazdı

    linq ile tabloyu degistiremezsin ya da yeni tablo olusturamazsin ama kodunda sql kodu cagirabilirsin.. Yapini tam bilmiyorum ama datacontext'in varsa ExecuteCommand ile sql kodu cagirabilirsin.. örnek

    dbContext.ExecuteCommand("ALTER TABLE tablom ADD ekKolon VARCHAR (255) NOT NULL;");


    gibi

     

    edit: kod eksik eklenmis nedense düzelttim

    edit2: sorunun icinde bir de tablo ekleme kismi var. Onu da ayni sekilde yapabilrsin.. sadece create table ... diyeceksin

     

     

     

     

    Stackoverflowda bu Soru için bu yöntem dışında birde stored procedure kullanılarak bu işlemin yapılabileceğinden bahsedilmiş.

    Burada oluşturulan stored procedure için örnek var. Prosedüre gönderilen parametre ile dinamik oluşturuluyor.

    https://stackoverflow.com/a/10877522/5646313

     

    Burada hangi yöntem daha kullanışlıdır? 

    Stored procedure kullanmak mı yoksa ExecuteCommand kullanmak mı?

     

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

    Burada hangi yöntem daha kullanışlıdır? 

    Stored procedure kullanmak mı yoksa ExecuteCommand kullanmak mı?

     

    Bu cok genel bir soru hocam. Tum islemi (db) server tarafinda yapmak istiyorsan sp (stored proc) daha kullanislidir. Tabi birden fazla sebepleri var..

    buraya göz atilabilir https://codingsight.com/dynamic-sql-vs-stored-procedure/

    Eger cok siklikla kolon olusturulmuyorsa basitce sql komut calistirilarak bu is yaptirilabilir, ama DB'de sp olusturabiliyorsaniz ve sürekli cagrilacak bir fonksiyon ise ve isi db server tarafina daha cok yüklemek icin sp daha uygun bi cözüm.. Benim anladigim sadece arada bir cagrilacagi icin arkadasin yönteminin cok bir önemi yok..

    Söyle bir not düseyim, sistem nedir ne degildir bilmiyorum. Eger bir serverdaki db'ye tcp/ip üzerinden baglanti yapiliyorsa zaten bu tarz bi iliski sikintili, bu durumda sp daha mantikli. Ama internal'da calisiyorsa ve cok sik cagrilmayacaksa sql execution tercih edilebilir


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    peki oluşturulacak kolonun var olup olmadığını yani daha önce oluşturulup oluşturulmadığını nasıl sorgulayabiliriz?

    hata almamak adına...

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

    söyle bi sey yapabilirsin hocam.. kolonun varligini kontrol ettirirsin, yoksa ekletirsin.. örnek

    IF COL_LENGTH('tablom', 'ekKolon ') IS NULL
    BEGIN
    ALTER TABLE tablom ADD ekKolon VARCHAR (255) NOT NULL;
    END

    bu kodu execute ile calistirinca nasil sonuc verir bilmiyorum. Eger calismazsa bir tane stored proc. yazman gerek o zaman. Bu arada sikinti cikmasin diye sema ismini kullanmakta fayda var tablodan önce.. semam.tablom gibi

    unbalanced tarafından 31/Oca/20 03:24 tarihinde düzenlenmiştir

    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    çok teşekkür ediyorum dostum.

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Exisist column diye ararsan belki bulabilirsin


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    rappermcs
    rappermcs's avatar
    Kayıt Tarihi: 04/Ekim/2002
    Erkek

    EF kullanıyorsan Context indeki tablona FromSqlRaw ile Sql Cümlesi çalıştırabilirsin. 


    Paslanmış bir uygulama geliştirici.. #AnalistŞart
Toplam Hit: 1812 Toplam Mesaj: 10
mssql sql update linq