Açık Akademi Yaz Okulu 2016
Selamlar,
09.08.2016 Salı günü Microsoft’un Açık Akademi Yaz Okulu’ndaydım. Anlattığım konular tabiki Web teknolojileri idi. Mvc, WebApi, CodeFirst, Bootstrap, Serialization ve Asenkron esas konu başlıkları idi. Baştan sona bir Online E-ticaret sitesini hep beraber kodladık. Codefirst ile oluşturduğumuz database’imize dummy datalar atıp, yeni bir WebApi servisi yazdık. Daha sonra Mvc bir View’a satılan ürünleri listelettik ve seçilen ürünleri yine WebApi kullanarak satın aldırdık. En sonunda da dönüş tipine göre işlem sonucunu ekrana yazdırdık.
Seminere katılan tüm öğrencilere, sordukları alıcı sorular ve örneklere farklı yaklaşımlarında dolayı hepsine teker teker teşekkür eder, Microsoft’a benim adıma diktikleri ağıç için, teşekkürü bir borç bilirim.
Yeni bir seminerde görüşmek üzere hoşçakalın.
Source Code: https://github.com/borakasmer/AcikAkademiOnlineShopping
Baştan sona seminer videoları aşağıdadır.
BÖLÜM 1: CodeFirst ve WebApi
BÖLÜM 2: Serialization, Asenkron, Mvc, Bootstrap
Elinize saglık hocam guzel ve herkesin anlıyabilcegi kadar basit bir dilde anlatım olmus.FirstCodu daha onceden duymustum fakat hic kullanmamıştım.Videoyu izledikten sonra hoşuma gitti .Orda sizi canlı dinlemek isterdim.
Routing ve asenkron olaylarını cok iyi anlatmisiniz .Özellikle asenkron icin verdiginiz hamburger satis olayi süperdi :)
Connection Stringde veritabanın security özelliğini SSPI yapmanız özel bi sebebi varmıydı ?
Selamlar Kadir,
Öncelikle güzel yorumların için teşekkür ederim. SSPI’ın özel bir sebebi yoktu. Sağlam olsun kesin bağalanayım diye direk öyle yazdım. Sonuçta az zaman kalmıştı ve başta kaybettiğim zamanı geri kazanmam lazımdı :)
İyi çalışmalar.
Hocam merhaba;
Öncelikle öğretileriniz için çok teşekkürler. Türkçe kaynak sıkıntısı yaşadığımız konularda bu çalışmalarınızın faydasının tarifi yok. Teorik bilgiye kıyasla, bu tarz canlı örnekler ile öğrenme süreçlerimiz çok hızlanıyor. Daha gelişmiş modüller içeren örnekleri yapmanızı temenni ediyorum hocam. Sizin kendi özelinizde veya acık akademi bünyesinde, bizim gibi yazılım konusunda kendini geliştirmeye çalışanlara verebileceğiniz bilgiler çok önemli. Yazılım ekosistemine yaptığınız katkılardan dolayı tekrar teşekkürler hocam. İyi çalışmalar
Selamlar Orhan,
Öncelikle değerli yorumların için teşekkür ederim.
Daha kapsamlı örnekleri bloğumdan bulabilirsin. Yeni paylaşımlar yolda :)
İyi çalışmalar.
Bora abi uzum zamandır seni takip ediyorum umarım bir gün seminerde de karşılaşabilirim. Bu tarz paylaşımlarda bulunduğun için de birincele.com olarak çok teşekkür ediyorum.
Ben teşekkür ederim Enes :)
Hocam videolarda sizin örneğini yaptığınız senaryoda böyle bir durum yok fakat Web API’den; üzerinde kendisinin kategori bilgilerini tutan Category türünde bir navigation property bulunan bir Product nesnesini çektiğimizde elde ettiğimiz çıktıda ürünün kategori bilgilerini tutan bu Category türündeki navigation propertysinin bilgileri gelmemektedir. Aynı işlemi sizinde videolarda yaptığınız gibi NewtonSoft deseralize yöntemiyle de denesem elde ettiğim Product nesnesinin üzerinde Category türündeki property null gelmektedir. Bahsettiğim gibi bir senaryoda WEB API’den çektiğimiz bir Productın üzerindeki navigation property bilgileri ile birlikte elde edilebilmesi mümkün müdür? Mümkünse nasıl bununla ilgili paylaşımınızı göremedim. Şimdiden teşekkür ederim.
Selam Guray,
Evet mümkün. Product üstündeki Category ve ona ait kolonları çekebilirsin
products=context.Products.Include(p=>p.Categories)
foreach(Product p in products)
{
foreach(Category c in p.Category)
{
Console.WriteLine(c.Name);
}
}
Bora hocam sanırım beni yanlış anladınız. Ben size lazy loading kapalı iken sorgulanan bir nesnenin navigation propertyleri nasıl doldurulur demek istemedim. WEB API’den bir veri üzerindeki navigation property bilgileri ile birlikte gönderildiğinde karşı tarafta bu veri gönderildiği gibi navigation propertyleri dolu halde full olarak elde etmek mümkün müdür mümkünse nasıl elde edilir demek istedim.
Lazy Loading açık iken WEB API tarafından üzerindeki Category türündeki navigation propertysi bilgilerle dolu olan bir Product nesnesi gönderdim ve karşı tarafta aldığım sonuçta bu Product nesnesinin aşağıdaki linkte görüldüğü gibi Category isimli Category türündeki navigation Propertysinin Id , Name, Created Date gibi bilgileri yerine sadece true bilgisini elde edilebildi.
https://i.hizliresim.com/VrdAYB.jpg
Lazyloading i kapatıp sizin yaptığınız gibi Include(p=>p.Category) yöntemi ile Product’ı veritabanından sorgulayıp Web API’den döndürmeyi denediğimde de bu sefer aşağıdaki resimdeki gibi bir serialization hatası alıyorum.
Hata linkini yukarıda paylaşmayı unutmuşum burada veriyorum.
https://i.hizliresim.com/NZP3Lk.jpg
Hocam görüntü çok beyaz ne yapmalıyız izleyemiyoruzda :(((
Valla bende bilemedim. Monitor’un ışığını kıs:) Youtube Dark Thema kullan:)