@TeRRoR dostum verdiğin linki okudum. ( https://ayende.com/blog/4784/architecting-in-the-pit-of-doom-the-evils-of-the-repository-abstraction-layer ) İnternette bu tarz bir kaç yazı var fakat bu yazılar sadece repository patter nin neden kullanılmaması gerektiğini anlatıyor. Tamam repository pattern kullanmayalım da ne kullanalım? Hiç biri repository pattern yerine bir çzüm sunmuyor. İş yerinde bir projeye başlayacağım. Controller' dan EF' ye direkt erişim sağlayıp işimi yapıp geçicem gibi duruyor. Diathorus tarafından 21/Ara/16 12:45 tarihinde düzenlenmiştir

Hocam biz şyle yapıyorduk. Kullanıcı Kaydı rneğinden gidersek; createUser -> UserManager. createUser -> UserRepository. create Controller tarafında major validation'ları yapıp Manager'dan ilgili method çağırıyor. Bu method içerisinde Transaction ynetilip, try-catch kontrolleri yapılıyor. Burada işlem başarılı olursa Controller'a bir Result objesi dndürülüyor ve bu obje kullanıcıya response'da dndürülüyor. Repository tarafında da veritabanına kayıt işlemi gerçekleştiriliyor. Bir ara Repository Pattern'a bakmıştım. Bunun amacı DB bağımsızlığı sağlamak . Ancak EF kullandığında byle bağlılık olmuyor ve Repository Pattern + EF kullanmak hammallık ve kodun daha çok dağılmasına sebep oluyor deniliyor Repository Pattern ile ilgili yazı: https://ayende.com/blog/4784/architecting-in-the-pit-of-doom-the-evils-of-the-repository-abstraction-layer herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

Müritler kolay gelsin, Bir süredir asp. net mvc projelerinde veri erişimi nasıl olmalıdır diye araştırıyorum. Kullanılan 2 yntem var. 1. Controller içerisinden entity framework direk erişim sağlayıp crud işlemlerini yapmak. 2. Generic repository pattern ile crud işlemlerini yapmak. Repository pattern nedir diye soran olursa aşağıdaki linki inceleyebilir. http://www.janholinka.net/Blog/Article/9 Büyük projelerde, zellikle controller içerisinde entity framework ile crud işlemleri yapmak MVC yazılım mimarisine uygun değil diye düşünüyorum. Bu şekilde yapıldığında controller acayip şişiyor ve oldukça karmaşık hale geliyor. Sizler veri erişimini nasıl yapıyorsunuz?

Repository pattern kullanıyorum. Controller'dan servisi çağırıyorum, Entity framework kullanmıyorum, MVC altyapısı yeterli oluyor.

@TeRRoR dostum teşekkürler cevap için fakat kullandığınız yntemi tam anlayamadım. Küçük bir kod rneği paylaşabilmen mümkün mü? Hocam hazırda kod yok ne yazıkki. Ancak şyle birşey buldum. Anlatmak istediğimi anlatıyor hatta Service Layer'da içinde. Buraya bir bakabilirsin. Kafan karışırsa yine yazarsın. https://www.asp.net/mvc/overview/older-versions-1/contact-manager/iteration-4-make-the-application-loosely-coupled-cs herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

@TeRRoR dostum teşekkürler cevap için fakat kullandığınız yntemi tam anlayamadım. Küçük bir kod rneği paylaşabilmen mümkün mü?

@TeRRoR dostum verdiğin linki okudum. ( https://ayende.com/blog/4784/architecting-in-the-pit-of-doom-the-evils-of-the-repository-abstraction-layer ) İnternette bu tarz bir kaç yazı var fakat bu yazılar sadece repository patter nin neden kullanılmaması gerektiğini anlatıyor. Tamam repository pattern kullanmayalım da ne kullanalım? Hiç biri repository pattern yerine bir çzüm sunmuyor. İş yerinde bir projeye başlayacağım. Controller' dan EF' ye direkt erişim sağlayıp işimi yapıp geçicem gibi duruyor. Aman hocam yle cayır cuyur controllarda yazma. Ama tabi uygulama 3-5 sayfalık yle çak geç bir işse başka. Repository pattern database layer'in abstraction'u için bir çzüm ve EF bize bu imkanı zaten sağlıyor. Sen repository kısmını çık gerisini kullan. Controller içinde yapacağın logic'leri ayrı bir Manager-Business layer'da yapıcaksın. herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

Repository pattern kullanıyorum. Controller'dan servisi çağırıyorum, Entity framework kullanmıyorum, MVC altyapısı yeterli oluyor. Hocam peki neden EF kullanmadın? herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

Hocam biz şyle yapıyorduk. Kullanıcı Kaydı rneğinden gidersek; createUser -> UserManager. createUser -> UserRepository. create Controller tarafında major validation'ları yapıp Manager'dan ilgili method çağırıyor. Bu method içerisinde Transaction ynetilip, try-catch kontrolleri yapılıyor. Burada işlem başarılı olursa Controller'a bir Result objesi dndürülüyor ve bu obje kullanıcıya response'da dndürülüyor. Repository tarafında da veritabanına kayıt işlemi gerçekleştiriliyor. Bir ara Repository Pattern'a bakmıştım. Bunun amacı DB bağımsızlığı sağlamak . Ancak EF kullandığında byle bağlılık olmuyor ve Repository Pattern + EF kullanmak hammallık ve kodun daha çok dağılmasına sebep oluyor deniliyor Repository Pattern ile ilgili yazı: https://ayende.com/blog/4784/architecting-in-the-pit-of-doom-the-evils-of-the-repository-abstraction-layer +1