LINQ çalıştığımı ve bununla ilgili yazılar yazacağımı önceki yazılarımda söylemiştim. Şimdi bu yazdıklarımın arkasında durarak LINQ ile Insert, Update, Delete işlemlerinin nasıl yapıldığına tek tek bakalım.
Kullanacağım tablom yukarıdaki gibi bunun üzerinde işlemler yapacaz.
INSERT
Insert yapabilmek için ilk başta insert yapacağımız veri lazım. Bunun için user nesnemi oluşturmam gerekiyor.
user Alper = new user();
Sonrasında da değerlerini girmem gerekiyor.
Alper.name = "Alper";
Alper.surname = "KOCA";
Alper.user_name = "alperkoca";
Yukarıda yaptığım işlemi tek satırda da C# 3.0 özelliğini kullanarakta yapabilirdim.
user Alper = new user() { name = "Alper", surname = "KOCA", user_name = "alperkoca" };şeklinde yapmamda mümkün. Ama sonuçta benim için önemli olan user nesnemi oluşturmam ve değerlerini ayarlamam. Şimdi de benim bu yaptığım nesnemi DataContext’ime eklemem ve değişiklikleri veritabanıma aktarmam lazım.
context.users.InsertOnSubmit(Alper);
context.SubmitChanges();
ve yukarıdaki kod bu işleri benim yerime yapıyor.
DataClasses1DataContext context = new DataClasses1DataContext();
private void Form1_Load(object sender, EventArgs e)
{
user Alper = new user() { name = "Alper", surname = "KOCA", user_name = "alperkoca" };
context.users.InsertOnSubmit(Alper);
context.SubmitChanges();
}Kısa bir kod parçasıyla işimizi hallettik.
UPDATE
Update işleminde biraz bir farklılık var. Aslında işlem aynı ama Update’te bize hangi veriyi güncellememiz lazım onu veritabanımızdan almamız lazım bunun içinde bir LINQ sorgusu yazıp database'imizden verimizi alamız lazım.
user alper = (from u in context.users where u.name == "Alper" select u).SingleOrDefault();
LINQ sorgumuzla tek verimiz user sınıfımızın Alper isimli nesnesine atıyoruz. Bundan sonra Alper nesnemiz üzerinde işlemlerimizi yapıyoruz.
alper.name = "aLPER";
alper.surname = "koca";
alper.user_name = "ALPERKOCA";
istediğimiz gibi değişikliğide yapalım. Artık bunu veritabanımıza uygulayalım.
context.SubmitChanges();
Artık verimizi güncellemiş olduk.
DataClasses1DataContext context = new DataClasses1DataContext();
private void Form1_Load(object sender, EventArgs e)
{
user alper = (from u in context.users where u.name == "Alper" select u).SingleOrDefault();
alper.name = "aLPER";
alper.surname = "koca";
alper.user_name = "ALPERKOCA";
context.SubmitChanges();
}İşte buda bukadar :)
DELETE
Delete işlemini de yukarda anlattıklarımızdan yola çıkarak yapabiliriz. Sileceğimiz veriyi veritabanımızdan bulacağız ve sileceğiz. Hadi bunuda yapalım.
user alper = (from u in context.users where u.name == "Alper" select u).SingleOrDefault();
Yazdığımız kod ile alper nesnemize sileceğimiz nesneyi seçiyoruz. Şimdi de bunu silelim.
context.users.DeleteOnSubmit(alper);
context.SubmitChanges();
ve silme işlemimizi de tamamlamış olduk.
DataClasses1DataContext context = new DataClasses1DataContext();
private void Form1_Load(object sender, EventArgs e)
{
user alper = (from u in context.users where u.name == "Alper" select u).SingleOrDefault();
context.users.DeleteOnSubmit(alper);
context.SubmitChanges();
}Veri tabanımızda yapabilceğimiz işler bunlarla sınırlı değil ama şimdilik bunlar bir çok işimizi görecektir. Zaman buldukça diğer işlemlerin nasıl yapıldığına değinecem.