folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Entity Frameworkte Dbcontext Nesnesinin Kullanımı ?



Entity Frameworkte Dbcontext Nesnesinin Kullanımı ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    Asp.net mvc uygulamasında entity framework database yaklaşımını kullanıyorum.

    Soru 1:  Repository yada başka bir pattern kullanmadığımızı varsayalım veritbanı işlemlerini controller içindeki action methodlarda yapıyoruz diyelim. Burada dbcontext nesnesini kullanırken action methodlarda using blokları içinde mi context nesnesini yaratmalıyız?

    Yoksa ilgili controllerın constructor ında dbcontext nesnemi yaratıp action methodlardada bunu kullansak yanlış bir yöntem mi olur?Sonuçta her gelen istek için ilgili controller sınıfından bir örnek yaratılmıyor mu?

    Yani şunu demek istedim : http://pastebin.com/KyZgiAQa   linki vpn ile açılıyor, normalde engellenmiş pastebin.

     

    Soru 2: DbContext sınıfından türettiğimiz Entity nesnemizde diyelim 40 tane tablomuzu DbSet diyerek temsil ettik.Ben her sorguda bu entity nesnemi kullanırsam performans açısından sıkıntı olur mu sizce yani bu entity nesnelerini iyice spesifik hale getirmek mi lazım yani diyelimki benim bi sorgumda 

    veritabanındaki sadece 2 tablom etkileniyor.O zaman ben sadece bu 2 tablomu saklayan bır entity nesnesi yaratsamda bu işlemleri bu entity nesnem üzerinden yapsam daha mı iyi?

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickalti
    Lightsaber
    Lightsaber's avatar
    Kayıt Tarihi: 29/Ağustos/2012
    Erkek

    Birinci soru için en iyi yöntemi şurda anlatmış Unit of Work Repository pattern ve dependency injection kullanmış: 

    http://stackoverflow.com/questions/9765223/what-is-the-best-way-to-create-ef-dbcontext-instance-for-asp-net-mvc

    Şimdi dersen ki ben bunlarla ilgilenmiyorum benim sorduğum şey bu iki yöntemden hangisi daha iyi olur. İlk cevabın yorumlarında abimiz demiş ki bu şekilde sadece controller içinde değil requestin işlenişi boyunca elinde aynı dbContext nesnesi olacak bu da daha stabil olur.

    Using içinde kullanırsan muhtemelen başka yerlerde sıkıntı çıkabilir diye tahmin ediyorum, controller constructorında da her seferinde nesne yaratıp contollerın dispose methodunda yok etmek (MSDN'de de bu tarz örnekler varmış soruyu soranın dedğine göre) pek güvenilir değilmiş.

    2.soruya gelirsek oluşturduğun entity nesnesinde dbsetleri tek bir yerden adresliyorsun, bunun bir performans sıkıntısı getireceğini düşünmüyorum tam tersine bu tarz bir tasarım daha temiz ve kullanışlı olacaktır.

     

     


    İnsan; insan olsaydı,insan olmazdı..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    Cevabın için teşekkürler hocam. DBContext e erişmek için bi pattern kullanmadım. Muhtemelen action method içinde using blogu acarım. Konuyu bi yandan araştırmaya devam da edicem.

Toplam Hit: 759 Toplam Mesaj: 3
entity framework