Date Image Tuesday, September 1, 2009 | Kategoriler | Linq, Sql, Tümü

Linq to Sql'de Birden Fazla Kaydın Silinmesi

Bildiğiniz gibi linq to sql sorgularını arkaplanda sql procedureleri gibi parametreli olarak gönderir. Tabiki bu çok güzel birşey.

Bir diğer güzelliği de bunları transaction içinde işletmesidir.

Ancak biz birden fazla kaydı bir anda silmek istediğimizde herbir kayıt için ayrı sorgu gönderir.Bu istenmeyen bir durum olarak kabul edilir.Oysaki silinecek kayıtların primary keylerini tek bir sorguda göndererek hepsinin silinmesi sağlanabilir. Veri trafiğini bu şekilde azaltabilirz.

Örneğin bir kategoriyi silmek istediğimizde hata almamak için o kategorideki ürünleri de silmek zorundayız. Aslında silmek zorunda değiliz siz isterseniz silmek isteğinde bulunulduğunda uyarı mesajıyla beraber yeni kategori isteyebilirsiniz.

Ama şuan konumuz birden fazla kaydı silmek olduğundan burayı fazla uzatmıyorum.

Zaten burada kod karmaşası falan da yapmayacağım.Bunu zaten hayırsever bir yazılımcı yazmış

Arayıp da bulamayanlar ya da bulup da unutanlar kaybedenler için arkadaşın blogunda yazdığı linki sizlerle paylaşıyorum.

Gerçekten işe yarayıp yaramadığını sql profiler dan izleyerek test edebilirsiniz.(Ben test ettim gayet güzel)..

skainsez.blogspot.com/2008/04/bulk-deletes-in-linq-to-sql.html

Etiketler :