Unit of Work & Repository Framework in ASP.NET MVC 5 With EF6

Merhaba Arkadaşlar,

Biliyorsunuz ki geçtiğimiz aylarda VS 2013 bundan hemen öncede EF6 ve MVC5 duyurulmuştu. EF6 Orm aracının EF5 den en buyuk  farkı asenkron yapıya izin vermesi. Veri erişiminin asenkron olmazsı, kullanıcıya sıkıcı beklemeleri önlemekte, sitenin daha çok yönlü ve hızlı açılmasını sağlamakta. En bilinen paternlerden Diversion Enjectioni daha önce makalelerde de belirtiğim gibi bağımlılığı ters çevirme ve programızın test edilebilirliğini artırmakta. Test deyip geçmeyin, ben bir product ürün kaydını test etmek için belkide 20-30 veri girerken her seferinde, bu test araşlarıyla yani TDD prensibini kullanarak hiç veri girmeden controler veya özel clasımızı test etmiş oluyoruz. Ne kadar buyuk kolaylık değilmi. Ben bunun için IOC için ninject teknolojisini kullandım ve benim projem MV4 olduğu için zorlandım. Ninject mvc3 destekliyordu, ama onun üstesinden de geldik tabiki. Şimdi Nuget Packet Manager dan Unity ile ninject' e gerek kalmadan yapabiliyorsunuz.  Projede database first ilkesinden gidilmiş, Entitiyframework tool aracı kullanılmakta. Code First bir anlamda tümden gelim yöntemiyle elde etmek gibi birşey. Unitofwork yapısı aynı context içinde  veriyi CRUD yapılır gösterilmektedir. Bu konuda konuşmacıya teşekkür ediyoruz.

Aslında aşağıdaki verdiğim link size herşeyi anlatıyor. Bir projeye nereden başlamalı, hangi teknoljileri, neden nasıl, niçin kullanmalı sorularına cevap vermekte.

İkinci bir link ise mvc5 ile gelen kolaylıklar IDictionary nesnesini faydaları ve nasıl mvc5 projesinde kullanıldığı anlatılmaktadır.

 

Comments (2) -

Mustafa
5/18/2014 8:00:46 PM #

tdd teknolojisinden sonra okumadım, tdd test driven development bir teknoloji değil, bir prensiptir.

erkanyurek
6/5/2014 5:13:25 PM #

Evet cok dogru. Onemli olan bunu kullanmak.

Add comment

The file '/Custom/Widgets/Calendar/widget.cshtml' does not exist.The file '/Custom/Widgets/Category list/widget.cshtml' does not exist.The file '/Custom/Widgets/Tag cloud/widget.cshtml' does not exist.The file '/Custom/Widgets/Page List/widget.cshtml' does not exist.The file '/Custom/Widgets/Month List/widget.cshtml' does not exist.