Takip Edin

ASP.NET MVC

Asp.Net MVC İle Temel Düzeyde Teknoloji Blog Sitesi Yapımı – Database Initialization

asp.net mvc teknoloji bloğu - database initialization
Asp.Net MVC İle Temel Düzeyde Teknoloji Blog Sitesi Yapımı
Proje Şablonu
Entity Sınıfları
Context Sınıfı
Database Initialization
Connection String
Controller
Blog ve Kategori Tabloları
Anasayfa Blog Listesi
Blog ve Kategori Ekleme Formu
Blog ve Kategori Güncelleme Formu
Kayıt Detay Sayfası
Layout
Kategori Menüsü
Blog Filtreleme
Blog Arama Kutusu

Bu bölümde, database initialization stratejilerinden DropCreateDatabaseIfModelChanges Initializer kullanılacaktır. İlk olarak Models klasörüne bir class ekleyelim.

Models klasörüne sağ tıklayıp Add => Class bölümünü seçelim:

asp.net mvc teknoloji bloğu - model add category class

Class Name bölümüne BlogInitializer.cs yazıp Add butonuna basalım:

asp.net mvc teknoloji bloğu - BlogInitiallizer.cs sınıfının eklenmesi

BlogInitializer sınıfını, entity sınıfları değiştiğinde mevcut veritabanını iptal edip yeni bir veritabanı oluşturan DropCreateDatabaseIfModelChanges initializer’ından türetelim: 

asp.net mvc teknoloji bloğu - initializer ın altında kırmızı çizginin belirmesi

DropCreateDatabaseIfModelChanges<BlogContext>‘in altında beliren kırmızı çizgiyi kaldırmak için mouse ile bu alana tıkladıktan sonra klavyeden (“CTRL” + “.”)’ya basalım:

asp.net mvc teknoloji bloğu - using system.data.entity'nin eklenmesi

using System.Data.Entity‘yi seçelim. Seçme işleminden sonra using System.Data.Entity, sayfanın üstüne eklenecek ve DropCreateDatabaseIfModelChanges<BlogContext>’in altında beliren kırmızı çizgi ortadan kalkacaktır.

asp.net mvc teknoloji bloğu - kırmızı çizginin ortadan kalkması

BlogInitializer sınıfının içerisine override yazıp boşluk bırakalım. Boşluk bıraktıktan sonra karşımıza gelen Seed metodunu seçelim:

asp.net mvc teknoloji bloğu - override eklenmesi

Böylelikle, veritabanını oluşturduktan sonra test verileri ile doldurmak için EntityFramework’ün otomatik olarak çağırdığı bir Seed metodu oluşturmuş olduk.

asp.net mvc teknoloji bloğu - Seed metodu

Seed metodunun içerisine test verilerimizi yerleştirelim(base.Seed(context)‘ten önce):

List<Category> kategoriler = new List<Category>()
            {
                new Category() {KategoriAdi = "Donanım"},
                new Category() {KategoriAdi = "Yazılım"},
                new Category() {KategoriAdi = "Mobil"},
                new Category() {KategoriAdi = "Otomobil"}
            };

            foreach (var kategori in kategoriler)
            {
                context.Kategoriler.Add(kategori);
            }

            context.SaveChanges();

            List<Blog> bloglar = new List<Blog>()
            {
                new Blog() { Baslik = "İşlemci ve Ekran Kartlarının İdeal Sıcaklığı Kaç Derece Olmalı?", Aciklama = "Bilgisayarlarımızda yaptığımız neredeyse her işlemden sorumlu olan iki parça var. Bu parçalar işlemci ve ekran kartı. Üzerlerine yoğun bir yük bindiği için de oldukça yüksek sıcaklıklarda çalışıyorlar. Peki ideal işlemci sıcaklığı ve ekran kartı sıcaklığı kaç derece olmalı?", EklenmeTarihi = DateTime.Now, Anasayfa = true, Onay = true, Icerik = "Bilgisayardaki bileşenlerin ideal sıcaklıkları iki başlık altında incelenir. Bu başlıklar işlemci “boştayken” ve yük altındayken olarak isimlendirilir. Aynı zamanda ideal sıcaklık değerleri tek bir değer olarak değil, bir aralık olarak belirlenir. Buna göre ideal işlemci sıcaklığı boştayken 35-50 derece, yük altındayken ise 60-85 derece aralığındadır. İdeal sıcaklık aralıklarının alt limitine ulaşmak, çok soğuk bir yerde yaşamıyorsanız oldukça kaliteli soğutucular kullanmayı gerektiriyor. O sebeple işlemci boştayken 35, yük altındayken ise 60 dereceyi görmüyorsanız endişelenmenize gerek yok. Endişelenmeniz gereken zaman işlemcinin boştayken 50, yük altındayken de 85 derecenin üstüne çıktığını gördüğünüz zaman.", Resim = "1.jpg", CategoryId = 1},
                new Blog() { Baslik = "GPU ve CPU Nedir, Ne İşe Yarar?", Aciklama = "Bir tarafta CPU ve diğer tarafta ekran kartı performansını arşa çıkaran GPU. Bilgisayar ve akıllı telefonlarımızın olmazsa olmazı bu işlemci birimleri ne işe yarar, ne farkı var sorularının cevaplarını en basit haliyle anlatıyoruz.", EklenmeTarihi = DateTime.Now.AddDays(-10), Anasayfa = false, Onay = true, Icerik = "GPU’lar grafik işlemlerini yapan işlemcilerdir. Yani ekranlarımızda gördüğümüz o muhteşem grafiklerin mimarı GPU. Çok iyi grafiklere sahip oyunları oynamak için ekran kartı tek başına yeterli sanıyorsanız yanılıyorsunuz. O görüntülerin hızlı bir şekilde işlenip ekrana yanması için GPU olmazsa olmazdır. Zaten bu işlemcilerin ortaya çıkması, yani tasarlanma amacı da aslında tamamen bu yöndedir.  CPU için kullanılan en yaygın tabir ise akıllı telefonlarımızın ve bilgisayarlarımızın beyni olduğudur. CPU açılımı ise merkezi işlem birimi demek. Bilgisayar ve telefonlarımızdaki bellek, depolama ve hesaplamalar gibi önemli işlemler CPU tarafından yapılıyor. Örneğin bilgisayarı başlattığınız andan açılana kadar geçen sürede işlemleri CPU yürütür. Yani bilgisayarın açılmasını sağlar.", Resim = "2.jpg", CategoryId = 1},
                new Blog() { Baslik = "FreeSync Nedir, Ne İşe Yarar?", Aciklama = "Gittikçe güçlenen donanımlarla birlikte elde edilmeye başlanan yüksek FPS miktarları bazı problemlerin önünü açıyor. Bu problemlerden en büyüğü ise yırtılma dediğimiz görüntü bozulmaları. AMD ve Nvidia yüksek veya düşük FPS dolayısıyla oluşan görüntü bozulmalarına farklı teknolojilerle çözümler üretiyor. Gelin bu çözümlerden AMD’nin üretmiş olduğu FreeSync ne işe yarar ve nasıl aktif edilir gibi sorulara cevap verelim.", EklenmeTarihi = DateTime.Now.AddDays(-20), Anasayfa = true, Onay = false, Icerik = "FreeSync, oyunlarda gördüğümüz VSync özelliğinin yerini alması için AMD tarafından geliştirilen bir teknoloji. En kısa tabirle, oyunlarda oluşan ekran yırtılmalarını ortadan kaldıran bir özellik. Eğer bu kadar basit bir açıklama sizi tatmin etmiyorsa gelin daha ayrıntılı bir şekilde FreeSync teknolojisinin ne olduğuna da değinelim. İlk olarak ekran yırtılmasının ne anlama geldiğine bakalım.  Ekran yırtılması, oyun oynarken ekranda gösterilen saniye başına kare (FPS) miktarının monitörün tazeleme hızı değerinin (saniye başına gösterebildiği kare sayısı) üstünde olduğu anlarda ortaya çıkan bir görüntü sorunudur. Özellikle hareketin hızlı olduğu anlarda, dikey objelerde meydana gelir. Sorunun temel sebebi, monitörün ekran kartının ürettiği kare hızına yetişemeyip aynı anda iki farklı kareyi göstermeye çalışmasıdır.", Resim = "3.jpg", CategoryId = 1},
                new Blog() { Baslik = "Microsoft PowerShell Nedir, Ne İşe Yarar?", Aciklama = "PowerShell, Microsoft tarafından geliştirildi ve 2006 yılında piyasaya sürüldü. Geliştirilmesinin ardında yatan amaçsa klasik komut satırı arayüzünün gücünü artırmaktı. Gelin; Microsoft PowerShell nedir, nasıl kullanılır ve ne işe yarar gibi soruların cevaplarını meraklıları için yanıtlayalım.", EklenmeTarihi = DateTime.Now.AddDays(-3), Anasayfa = true, Onay = true, Icerik = "Windows PowerShell, standart tabanlı uzaklaştırma protokollerini kullanarak hem bağımsız hem de ağa bağlı, cmdlet adı verilen küçük programları kullanan, komut dosyası dili özelliklerine sahip etkileşimli bir nesne yönelimli komut ortamıdır.  Microsoft, PowerShell'in ilk sürümünü yayınladığında, DOS tabanlı komut istemi arayüzünün eksikliklerini gidermeyi amaçlıyordu. Karmaşık script dilleriyle yazılan nesnelerin yönetimi konusunda sıkıntılar vardı. Bu yüzden Microsoft temelli yazılımlar için özel bir script dili olarak görev yapacak ve yönetim görevlerini otomatik hâle getirebilecek güçlü ve esnek bir yapıda olan PowerShell ortaya atıldı.", Resim = "4.jpg", CategoryId = 2},
                new Blog() { Baslik = "WhatsApp Web'e Resmi Karanlık Mod Desteği Geldi: Nasıl Kullanılır?", Aciklama = "Kullanıcıların pek çok uygulama için ısrarla talep ettiği, karanlık mod WhatsApp Web'e geldi. Bir geliştirici tarafından üçüncü parti olarak geliştirilen karanlık modu kullanmanız için yapmanız gerekenleri anlatıyoruz. Peki WhatsApp Web karanlık mod nasıl açılır? Nasıl yüklenir ve kullanılır? Gelin açıklayalım.", EklenmeTarihi = DateTime.Now.AddDays(-13), Anasayfa = false, Onay = true, Icerik = "Adım #1: WhatsApp Web adresine gidin ya da WhatsApp masaüstü uygulamasını açın,  Adım #2: Soldaki sütunun üstünde yer alan üç nokta ve ardından Ayarlar seçeneğine tıklayın,  Adım #3: Ayarlar menüsünden Tema seçeneğine tıklayın, Koyu seçeneğini işaretleyin,  Adım #4: WhatsApp Web karanlık modun keyfini çıkarın.  WhatsApp Web için anlattığımız tüm bu adımlar, Windows ve macOS'larda kullanılan WhatsApp masaüstü uygulamaları için de geçerli. Aynı adımları uygulamalar için de kullanabilirsiniz.", Resim = "5.jpg", CategoryId = 2},
                new Blog() { Baslik = "Android’de WhatsApp ve Netflix Üzerinden Kart Bilgilerini Çalabilen Zararlı Bir Yazılım Keşfedildi", Aciklama = "Android işletim sisteminde keşfedilen yeni bir yazılım, toplamda 337 uygulamayı hedef alarak kullanıcıların hassas bilgilerini hackerlara sunabiliyor. Yazılım, kullanıcıların şifrelerini ve kart bilgilerini ele geçirebiliyor.", EklenmeTarihi = DateTime.Now.AddDays(-23), Anasayfa = true, Onay = false, Icerik = "Android işletim sisteminde keşfedilen yeni BlackRock isimli zararlı yazılım, kullanıcıların kullandıkları uygulamalar üzerinden onların birçok bilgisini ele geçirebiliyor. Üstelik ilk olarak ThreatFabric tarafından keşfedilen bu güvenlik açığı, toplamda 337 uygulamayı hedef alıyor.  Hazırlanan raporlara göre BlackRock isimli zararlı yazılım Gmail, Google Play, Netflix gibi toplamda 337 uygulamadan kullanıcıların şifrelerini ve kredi kartı bilgilerini hackerlara doğrudan sunabiliyor. Yine raporlara göre yazılım, kurban kişinin telefonuna spam olarak mesajlar göndererek telefonun kitlenmesini sağlıyor. Ayrıca BlackRock, bir ‘keylogger’ işlevi yerine getirerek birçok diğer bilginin de çalınmasına neden olabiliyor.", Resim = "6.jpg", CategoryId = 2},
                new Blog() { Baslik = "Popüler VPN Uygulamalarının Toplamda 1,2 TB Kişisel Veri Sızdırdığı Ortaya Çıktı", Aciklama = "Play Store'da 10 milyonu aşkın indirmesi bulunan UFO VPN de dahil olmak üzere 7 farklı VPN uygulamasının, toplamda 1,2 TB kişisel veri sızdırdığı ortaya çıktı. İddialara adı karışan uygulamaların her birinin Play Store'da 10 bin ila 1 milyon arasında değişen indirme sayısı bulunuyor.", EklenmeTarihi = DateTime.Now.AddDays(-5), Anasayfa = true, Onay = true, Icerik = "Sanal bir ağ uzantısı oluşturarak o ağ üzerinden veri alışverişi yapmaya imkân sağlayan VPN hizmetleri, günümüzde oldukça yaygın olarak kullanılıyor. Bazı kullanıcılar, internet üzerinden gerçekleştirdiği işlemleri gizli tutmak için VPN kullanırken bazılarıysa yasaklı sitelere girebilmek bu yola başvuruyor.  Şu anda hem PC hem de mobil platformlarında birbirinden farklı onlarca VPN uygulaması yer alıyor. Bu noktada esas soruysa “Popüler VPN uygulamaları gerçekten güvenli mi?” oluyor. Son yaşananlara bakacak olursak bu sorunun yanıtı ‘hayır’ zira teknoloji konusundaki araştırmalarla bilinen bir web sitesi olan Compareitech, içlerinde milyonlarca indirmeye sahip olan uygulamaların da bulunduğu 7 VPN uygulamasının, toplamda 1,2 TB kişisel veriyi sızdırdığını ortaya çıkardı.", Resim = "7.jpg", CategoryId = 3},
                new Blog() { Baslik = "Dünyanın İlk Tam Ekran Parmak İzi Okuyucu Sensörü Geliştirildi", Aciklama = "Çin merkezli teknoloji üreticisi Tianma, dünyanın ilk tam ekran parmak izi okuyucu sensörünü geliştirdiğini duyurdu. LCD ekranlarda kullanılacak bu teknoloji, parmak izinin ekranın herhangi bir yerinde kullanılmasını sağlıyor. Şirket, seri üretim için hazır olduğunu ifade ediyor.", EklenmeTarihi = DateTime.Now.AddDays(-15), Anasayfa = false, Onay = true, Icerik = "Akıllı telefon sektörü büyük bir hızla değişiyor ve bugün trend olan bir özellik, yarın eski hale gelebiliyor. Bu durumun bilincinde olan teknoloji üreticileri de akıllı telefon sektörünü yönlendirecek çalışmalar yaparak sektörün gidişine yön vermeye çalışıyorlar. Şimdi geliştirilen yeni bir teknoloji ise akıllı telefonlara yeni bir soluk kazandıracak gibi görünüyor.  Son dönemlerde piyasaya sürülen akıllı telefonların çok büyük bir bölümü, ortak bir özelliğe sahipler. Bu özellik, ekran altına yerleştirilmiş olan parmak izi okuyucu sensörleri. Birkaç yıl önce özel sensörlerle sağlanan bu özellik, artık orta segment telefonlarda yeni bile standart olarak bulunuyor. Şimdi geliştirilen bir teknoloji ise ekran altı parmak izi okuyucuların kapsamını ciddi anlamda genişletiyor.", Resim = "8.jpg", CategoryId = 3},
                new Blog() { Baslik = "Araştırmacılar, Hızlı Şarj Aletlerinde Kritik Bir Güvenlik Açığı Buldu", Aciklama = "Tencent’in Xuanwu Laboratuvarı’ndan araştırmacılar, modern hızlı şarj aletlerini hedef alan yeni bir saldırı yöntemi keşfetti. Bu saldırı yöntemi sayesinde şarj aletine bağlanan herhangi bir cihaz ciddi zararlar alabiliyordu.", EklenmeTarihi = DateTime.Now.AddDays(-25), Anasayfa = true, Onay = false, Icerik = "Modern hızlı şarj aletleri eski şarj aletlerinin aksine aslında küçük birer bilgisayar haline dönüştüler. Bu nedenle de bu aletlerin de artık eskisi kadar güvenli olmadığını söyleyebiliriz. Tencent’in Xuanwu Laboratuvarı’ndaki araştırmacılar, çalışmalarından de bizim bu görüşümüzü kanıtlayan bir sonuç açıkladılar.  Araştırma ekibinin elde ettiği sonuca göre hızlı şarj aletleri, ‘BadPower’ isimli bir saldırı sayesinde rahatlıkla hedef alınabiliyorlar. Hedef alınan şarj aletleriyle bu şarj aletlerinin kullanıldığı cihazların aşırı ısınmasına, duman çıkarmasına ve hatta alev almasına bile neden olabiliyor.", Resim = "9.jpg", CategoryId = 3},
                new Blog() { Baslik = "Bu Yılın İlk Yarısında Otomobil Satın Alanların En Çok Hangi Vites Türünü Seçtiği Açıklandı", Aciklama = "Türkiye’de 2020 yılının ilk yarısında satılan otomobillerin %70’ini otomatik vitesli araçlar oluşturdu. Satılan toplam 203 bin 595 otomobilin 141 bin 750’si otomatik şanzımanlar araçlardı.", EklenmeTarihi = DateTime.Now.AddDays(-8), Anasayfa = true, Onay = true, Icerik = "Otomotiv Distribütörleri Derneği (ODD), bu senenin ilk 6 ayında 254 bin 68 adet otomobil ve hafif ticari araç satışının gerçekleştiğini ve bunun bir önceki senenin aynı dönemine göre %30,2 daha fazla olduğunu açıkladı.  Ayrıca yine bu dönem içerisinde otomatik vitesli araçların satışında da yükseliş yaşandı. Senenin ilk yarısının sonunda 141 bin 750 adet otomatik şanzımanlı otomobil satılırken 61 bin 845 adet de manuel şanzımanlı otomobil satışı gerçekleşti. Bu araçların pazar payları ise sırasıyla %69,6 ve %30,4 oldu.", Resim = "10.jpg", CategoryId = 4},
                new Blog() { Baslik = "Türkiye’de En Çok Satılan Elektrikli Otomobiller ve Hibrit Araçlar", Aciklama = "Dünyanın dört bir yanında artık elektrikli otomobiller ve hibrit araçlar daha çok tercih edilmeye başladı. Türkiye’de de elektrikli otomobiller ve hibrit araçlar gün geçtikçe popülerleşiyor. Biz de sizler için Türkiye’de en çok satılan elektrikli otomobiller ve hibrit araçlar listesi hazırladık. Hoş geldiniz.", EklenmeTarihi = DateTime.Now.AddDays(-18), Anasayfa = false, Onay = true, Icerik = "Benzinli ve dizel otomobiller bundan birkaç yıl öncesine kadar elektrikli otomobillerden daha popülerdi ancak zamanla bu durum tersine döndü. Bu durumun sebebi çoğunlukla şirketlerin karıştığı emisyon skandalları ve artan yakıt fiyatları. Elektrikli otomobiller ise hem performansları hem de yakıt masraflarını çok yüksek oranda azaltması nedeniyle çok daha fazla tercih edilmeye başlandı.  Hibrit araçlar da yakıt tüketimi konusunda daha iyi bir performans gösterdiği için gittikçe yaygınlaştı. Ülkemizde de elektrikli otomobiller ve hibrit araçlar  fazlasıyla popülerleşti. Biz de sizler için Türkiye’de en çok satılan elektrikli ve hibrit otomobilleri listeledik.", Resim = "11.jpg", CategoryId = 4},
                new Blog() { Baslik = "Yargıtay'dan Hasarlı Araç Satışı Konusunda Emsal Karar", Aciklama = "Yargıtay 13. Hukuk Dairesi, hasarlı araç satışlarıyla ilgili emsal bir karar verdi. Yüksek Mahkeme, aldığı kararda ağır hasarlı aracın bilgilendirme yapılmadan satılmasının yasal olmadığına hükmetti.", EklenmeTarihi = DateTime.Now.AddDays(-28), Anasayfa = true, Onay = false, Icerik = "Son dönemlerde oldukça hararetlenen ikinci el araba alış satışlarıyla ilgili Yargıtay’dan emsal niteliğinde bir karar geldi. Bir vatandaş, satın aldığı ikinci el aracın sigortasını yaptırmak için gittiği acentada, aracın pert olduğunu öğrenerek büyük bir sürprizle karşılaştı.  Mağdur, daha sonrasında araçta gizli ayıp olduğunu noter aracılığıyla satıcıya bildirdi. Satıcıdan herhangi bir cevap alamayan tüketici, mahkemeye başvurdu. Mağdur vatandaş, mahkemede araç için ödediği 14 bin 900 TL’yi 327 TL’lik masrafın iadesini istedi. Ancak mahkeme, aracın piyasa değerinden 6 bin TL daha düşük bir bedelle satın alınmasını pert kaydı olma ihtimalini güçlendirdiğini söyleyerek davanın reddine karar verdi.", Resim = "12.jpg", CategoryId = 4}
            };

            foreach (var blog in bloglar)
            {
                context.Bloglar.Add(blog);
            }

            context.SaveChanges();

Solution Explorer penceresinde TeknolojiBlogu adlı projemize sağ tıklayıp Add => New Folder’ı seçelim:

asp.net mvc teknoloji bloğu - img add folder

Klasörümüzün ismini img olarak değiştirelim:

asp.net mvc teknoloji bloğu - klasör adını değiştirme

img klasörüne sağ tıklayıp Open Folder in File Explorer bölümünü seçelim:

asp.net mvc teknoloji bloğu - open folder in file explorer

Açılan klasöre resimlerimizi yerleştirelim:

asp.net mvc teknoloji bloğu - img klasörüne resimlerimizi yerleştirme
Devamını oku

Popüler

error: Content is protected !!