Asp.net Core 6 (.Net core 6) ile MySql e Entity Framework kullanarak proje geliştirmek
Önkoşullar
- MySQL Server — (projede XAMPP kullanıcaktır. )
- Visual Studio Code - (ve Eklenti paketler .Net Core Pack )
- .NET Core 6
Proje öncesinde projede kullanılan dolayısıyla sisteminizde bulunması gereken uygulamalar yukarıda listelenmiştir.
MySQL veritabanlı bir ASP.NET Core projesinde Entity Framework Core kullanarak basit bir proje olan telefon rehberi uygulaması yapacağız.
Bu projede
- Asp.net Core 6 ile MySql nasıl kullanılır,
- EF(Entity Framework) migration işlemi nasıl yapılır,
Projemizde Telefon Rehberi yapılacaktır.
- kişi adsoyad ve telefon bilgileri Rehbere kaydedilecek,
- rehberin tamamı görüntülenecek,
- istenilen kayıt silinebilecek,
- istenilen kayıt güncellenebilecektir.
Adım 1: Proje Klasörü oluştur ve mvc deseni ekle
projem klasörümüz telefonRehberi olsun. klasörü projeye bağladıktan sonra komut satırına(cmd) geçerek mvc deseni ekleyelim.
> dotnet new mvc
komutu girilerek projeye mvc deseni dahil edilir.
Adım 2: Gerekli Paketleri Kur. (Bağımlılıklar - Dependencies)
projeye Entity Framework konutlarını kullanmak ve Mysql bağlantı komutlarını kullanabilmek için bağımlılıkların kurulması gerekli bunun için yine komut satırına geçerek
> dotnet add package Microsoft.EntityFrameworkCore
> dotnet add package Microsoft.EntityFrameworkCore.Tools
> dotnet add package Mysql.EntityFrameworkCore
Adım 3: Model oluştur
Model klasörü içerisine Kisi.cs isimli bir sınıf oluşturun. Model içerisinde tutulmak istenilen bilgileri özellikler şeklinde belirleyin.
Not: namespace alanı proje ve klasör adına göre değişiklik gösterebilir.
Adım 4: DBContext Oluşturun ve Bağlantı Cümlesi Ekleyin
Kök dizinde "Data" adlı yeni bir klasör oluşturun ve "AppDbContext.cs" adlı yeni bir sınıf dosyası oluşturun. görseldeki ilgili kodu vsCode uygulamanızda eklenti yüklüyse ef-dbcontext kısayolu ile yazdırabilirsiniz. varsayılan olarak useSqlServer bağlantısı ile gelmektedir. Uygulamada MySql kullanıldığı için bunu UseMysql cümlesine çeviriyoruz.
Adım 5: Uygulamayı Mysql'e bağlanma şeklide ayarla
Uygulamayı MySQL Veritabanını kullanacak şekilde yapılandırın. Program.cs dosyasını açın ve aşağıdaki değişiklikleri yapın.
Adım 6: Veritabanını Controller'e ekleme
Veritabanı kullanılacak Controllere gidililerek kurucu metoda context ataması yapılır.
Örneğin HomeController için
XAMPP'yi açarak MySQL'i başlatın. Komut Satırını açarak
veritabanı ile ilgili geçişi sağlayan kodları oluştur
> dotnet ef migrations add yeni
veritabanı geçiş dosyalarını veritabanına uygula.
> dotnet ef database update
Not: komut satırında dotnet ef komutu çalışmaz ve hata alırsanız. dotnet ef projeye dahil edilmemiş demektir. dotnet ef komutlarını çalıştırmak için komut satırından tekrar projeye dahil edebilir
> dotnet tool install -g dotnet-ef
veya
> dotnet tool update -g dotnet-ef
bu komutlar çalışmıyorsa projedeki bin klasörünü silip tekrar deneyin.
Adım 8: Ekle Sayfası
Proje temel yapısı hazırlandı. Artık tasarımlar yapılarak veritabanı işlemleri yapılabilir.
View > ekle.cshtml
Controllers > HomeController.cs - Index Action
Adım 10: Sil Sayfası
Sil komutu için ayrı bir sayfa yapmaya gerek yok. HomeController.cs dosyasına action olarak ekleyip anasayfaya yönlendirelim.
Controllers > HomeController.cs - sil Action
Adım 11: Detay Sayfası
detay linkine tıklandığında başka sayfada tek kişinin bilgilerini gösteren sayfa yapalım.
Controllers > HomeController.cs - detay action
Controllers > HomeController.cs - guncelle action