Mulai menggunakan EF Core
Dalam tutorial ini, Anda membuat aplikasi konsol .NET Core yang melakukan akses data terhadap database SQLite menggunakan Entity Framework Core.
Anda dapat mengikuti tutorial dengan menggunakan Visual Studio di Windows, atau dengan menggunakan .NET CLI di Windows, macOS, atau Linux.
Lihat sampel artikel ini di GitHub.
Prasyarat
Instal perangkat lunak berikut:
Membuat proyek baru
dotnet new console -o EFGetStarted
cd EFGetStarted
Menginstal Entity Framework Core
Untuk menginstal EF Core, Anda menginstal paket untuk penyedia database EF Core yang ingin Anda targetkan. Tutorial ini menggunakan SQLite karena berjalan di semua platform yang didukung .NET. Untuk daftar penyedia yang tersedia, lihat Penyedia Database.
dotnet add package Microsoft.EntityFrameworkCore.Sqlite
Membuat model
Tentukan kelas konteks dan kelas entitas yang membentuk model.
- Di direktori proyek, buat Model.cs dengan kode berikut
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
public string DbPath { get; }
public BloggingContext()
{
var folder = Environment.SpecialFolder.LocalApplicationData;
var path = Environment.GetFolderPath(folder);
DbPath = System.IO.Path.Join(path, "blogging.db");
}
// The following configures EF to create a Sqlite database file in the
// special "local" folder for your platform.
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite($"Data Source={DbPath}");
}
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
public List<Post> Posts { get; } = new();
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public Blog Blog { get; set; }
}
EF Core juga dapat merekayasa balik model dari database yang ada.
Tips: Aplikasi ini sengaja membuat hal-hal sederhana untuk kejelasan. string Koneksi ion tidak boleh disimpan dalam kode untuk aplikasi produksi. Anda mungkin juga ingin membagi setiap kelas C# menjadi filenya sendiri.
Buatlah databasenya
Langkah-langkah berikut menggunakan migrasi untuk membuat database.
Jalankan perintah berikut:
dotnet tool install --global dotnet-ef dotnet add package Microsoft.EntityFrameworkCore.Design dotnet ef migrations add InitialCreate dotnet ef database update
Ini menginstal dotnet ef dan paket desain yang diperlukan untuk menjalankan perintah pada proyek. Perancah
migrations
perintah melipat migrasi untuk membuat kumpulan tabel awal untuk model. Perintahdatabase update
membuat database dan menerapkan migrasi baru ke database tersebut.
Membuat, membaca, memperbarui , menghapus
Buka Program.cs dan ganti konten dengan kode berikut:
using System; using System.Linq; using var db = new BloggingContext(); // Note: This sample requires the database to be created before running. Console.WriteLine($"Database path: {db.DbPath}."); // Create Console.WriteLine("Inserting a new blog"); db.Add(new Blog { Url = "http://blogs.msdn.com/adonet" }); db.SaveChanges(); // Read Console.WriteLine("Querying for a blog"); var blog = db.Blogs .OrderBy(b => b.BlogId) .First(); // Update Console.WriteLine("Updating the blog and adding a post"); blog.Url = "https://devblogs.microsoft.com/dotnet"; blog.Posts.Add( new Post { Title = "Hello World", Content = "I wrote an app using EF Core!" }); db.SaveChanges(); // Delete Console.WriteLine("Delete the blog"); db.Remove(blog); db.SaveChanges();
Menjalankan aplikasi
dotnet run
Langkah berikutnya
- Ikuti Tutorial ASP.NET Core untuk menggunakan EF Core di aplikasi web
- Pelajari selengkapnya tentang ekspresi kueri LINQ
- Mengonfigurasi model Anda untuk menentukan hal-hal seperti yang diperlukan dan panjang maksimum
- Menggunakan Migrasi untuk memperbarui skema database setelah mengubah model Anda