loading
0%
Tarihçe, .Net Framework vs .Net Core vs .Net5
.NET 5 Kurulumu
Visual Studio Code kurulumu
Http Protokolü
Restful Servisler
Restful vs Soap
JSON (JavaScript Object Notation)
Örnek Web Api Yaratmak
Startup ve Program Sınıfları
Ortam dosyaları
Controller Sınıfı
Route Kavramı
Action Methodlar
Okunabilir API tasarımı
Swagger Nedir? Nasıl Kullanılır?
Postman Nedir? Nasıl Kullanılır?
Api Debug Nasıl Yapılır?
Get ve GetById endpoint'lerinin yazılması
Put ve Post endpoint'lerinin yazılması
Delete endpoint'inin yazılması
İlişkisel ve NoSql Veritabanları
Table,Primary Key, Foreign Key Kavramları
Tablo İlişkileri
Temel SQL
ORM Nedir? ORM Araçları Nelerdir? Entity Framework Core'a Giriş
Örnek Projeye EF Core Dahil Etmek
DB Context kullanarak CRUD işlemler
Auto Increment ID kolonunun eklenmesi
Linq ile Crud İşlemler
Entity Kavramı
ViewModel ve Dto Kavramı
Ödev - Model Kullanımı
Ödev Çözümü - Model Kullanımı
AutoMapper
Modellerin Doğrulanması ve FluentValidation Kütüphanesi
Model Validasyonu - Ödev
Model Validasyonu - Ödev Çözümü
Middleware Kavramı
Custom Exception Middleware Yaratılmak
Dependency Nedir ?
Dependency Injection (DI) Kavramı
DI Container Kavramı
.NET Core DI Container (Services)
Projeye DI Container Kullanarak Logger Servis Eklemek
Pratik - Projeye Genre Controller ve Servislerin Eklenmesi
Ödev - Projeye Author Controller ve Servislerin Eklenmesi
Test Kavramı ve Çeşitleri
TDD (Test Driven Development) Nedir ?
Örnek Test Yazımı
Pratik - Command ve Validator Sınıflarının Testlerinin Yazılması
Ödev - Projenin eksik testlerinin tamamlanması
Token Bazlı Kimlik Doğrulama ve Access Token Kullanımı
Refresh Token Kullanımı
Proje Ödevi - Movie Store Uygulaması
Proje Ödevi 2 - Serbest Proje Seçimi
Coderbyte Challenge

Örnek Projeye EF Core Dahil Etmek

Bir Projeye Entity Framework Core Nasıl Eklenir?


Bir .Net Core WebApi projesinde Ef Core kullanabilmek için öncelikler gerekli paketleri projeye dahil etmeliyiz. Dotnet'in paket yöneticisi Nuget Package Manager'dır.Localde çalışma yaparken gerçek bir veri tabanı ile çalışmak maliyetli olabilir. Bunun yerine hem implementasyonu kolay olan hem de hızlı çalışan InMemory database kullanılması önerilir. Ef Core'un tüm özelliklerini in memory database implemente ederek kullanabiliriz. BookStore uygulamamıza da In Memory database implemente ederek EF Core u kullanıcaz.


Projeyi In Memoery EF Core ile çalışır hale getirmek için izlememiz gereken adımlar şu şekildedir arkadaşlar.

1.Projeye Microsoft.EntityFrameworkCore'nin eklenmesi

  • WebApi proje dizininde aşağıdaki komutu çalıştırınız.
  • dotnet add package Microsoft.EntityFrameworkCore --version 5.0.6

2.Projeye Microsoft.EntityFrameworkCore.InMemory'nin eklenmesi.

  • WebApi proje dizininde aşağıdaki komutu çalıştırınız.


 `dotnet add package Microsoft.EntityFrameworkCore.InMemory --version 5.0.6  

3.Db operasyonları için kullanılacak olan DB Context'i yaratılması


public class BookStoreDbContext : DbContext
{
    public BookStoreDbContext(DbContextOptions<BookStoreDbContext> options) : base(options)
    {}
    public DbSet<Book> Books { get; set; }
  
}

4.Initial Data için bir Data Generator'ın yazılması


public class DataGenerator
{
    public static void Initialize(IServiceProvider serviceProvider)
    {
        using (var context = new BookStoreDbContext(
        serviceProvider.GetRequiredService<DbContextOptions<BookStoreDbContext>>()))
        {
            // Look for any book.
            if (context.Books.Any())
            {
                return;   // Data was already seeded
            }

            context.Books.AddRange(
               new Book()
               {
                   Title = "Lean Startup",
                   GenreId = (int)GenreEnum.PersonalGrowth, // Personal Growth
                   PageCount = 200,
                   PublishDate = new DateTime(2001, 06, 12)
               });

            context.SaveChanges();
        }
    }
}

5.Uygulama ayağa kalktığından initial datanın in memory DB'ye yazılması için Program.cs içerisinde configurasyon yapılması

public static void Main(string[] args)
        {
            //1. Get the IWebHost which will host this application.
            var host = CreateHostBuilder(args).Build();

            //2. Find the service layer within our scope.
            using (var scope = host.Services.CreateScope())
            {
                //3. Get the instance of BoardGamesDBContext in our services layer
                var services = scope.ServiceProvider;
                //4. Call the DataGenerator to create sample data
                DataGenerator.Initialize(services);
            }

            //Continue to run the application
            host.Run();
        }


6.Startup.cs içerisinde ConfigureServices() içerisinde DbContext'in servis olarak eklenmesi


services.AddDbContext<BookStoreDbContext>(options => options.UseInMemoryDatabase(databaseName: "BookStoreDB"));


6.Kullanmak istediğiniz yerde _context'i kurucu metot aracılığıyla ekleyerek kullabilirsiniz :)


readonly BookStoreDbContext _context;
public BookController(BookStoreDbContext context)
{
    _context = context;
}




0%
+ .NET 5 Giriş
Tarihçe, .Net Framework vs .Net Core vs .Net5
+ Kurulumlar
.NET 5 Kurulumu
Visual Studio Code kurulumu
+ Http Protokol
Http Protokolü
Restful Servisler
Restful vs Soap
JSON (JavaScript Object Notation)
+ Örnek Web Api Yaratmak
Örnek Web Api Yaratmak
+ Proje Dosyalarını Tanıma
Startup ve Program Sınıfları
Ortam dosyaları
+ Controllers, Route ve Action Methodlar
Controller Sınıfı
Route Kavramı
Action Methodlar
Okunabilir API tasarımı
+ Swagger ve Postman kullanımı
Swagger Nedir? Nasıl Kullanılır?
Postman Nedir? Nasıl Kullanılır?
Api Debug Nasıl Yapılır?
+ BookStore Projesi Yaratmak
Get ve GetById endpoint'lerinin yazılması
Put ve Post endpoint'lerinin yazılması
Delete endpoint'inin yazılması
+ Veritabanı Yönetim Sistemleri
İlişkisel ve NoSql Veritabanları
Table,Primary Key, Foreign Key Kavramları
Tablo İlişkileri
- Orm ve Entity Framework Core
Temel SQL
ORM Nedir? ORM Araçları Nelerdir? Entity Framework Core'a Giriş
Örnek Projeye EF Core Dahil Etmek
DB Context kullanarak CRUD işlemler
Auto Increment ID kolonunun eklenmesi
Linq ile Crud İşlemler
+ Entity, Model ve Mapper Kullanımı
Entity Kavramı
ViewModel ve Dto Kavramı
Ödev - Model Kullanımı
Ödev Çözümü - Model Kullanımı
AutoMapper
+ Fluent Validation Kullanarak Modellerin Doğrulanması
Modellerin Doğrulanması ve FluentValidation Kütüphanesi
Model Validasyonu - Ödev
Model Validasyonu - Ödev Çözümü
+ Middleware Kavramı
Middleware Kavramı
Custom Exception Middleware Yaratılmak
+ Dependency Injection
Dependency Nedir ?
Dependency Injection (DI) Kavramı
DI Container Kavramı
.NET Core DI Container (Services)
Projeye DI Container Kullanarak Logger Servis Eklemek
+ Projeye Genre Controller ve Servislerin Eklenmesi
Pratik - Projeye Genre Controller ve Servislerin Eklenmesi
+ Ödev - Projeye Author Controller ve Servislerin Eklenmesi
Ödev - Projeye Author Controller ve Servislerin Eklenmesi
+ TDD (Test Driven Development)
Test Kavramı ve Çeşitleri
TDD (Test Driven Development) Nedir ?
Örnek Test Yazımı
Pratik - Command ve Validator Sınıflarının Testlerinin Yazılması
+ Ödev - Projenin eksik testlerinin tamamlanması
Ödev - Projenin eksik testlerinin tamamlanması
+ Kimlik Doğrulama ve Yetkilendirme Protokolleri
Token Bazlı Kimlik Doğrulama ve Access Token Kullanımı
Refresh Token Kullanımı
+ Proje Ödevi 1- Movie Store Uygulaması
Proje Ödevi - Movie Store Uygulaması
+ Proje Ödevi 2 - Serbest Proje Seçimi
Proje Ödevi 2 - Serbest Proje Seçimi
+ Coderbyte Challenge
Coderbyte Challenge
chat

Comments

rocket

0

woman-dancing

0

thinking-face

0

exploding-head

0

Max character number is 255.

You need to log in to be able to comment!