Entity Framework Core (EF Core) là một ORM (Object-Relational Mapper) hiện đại để truy cập cơ sở dữ liệu trong .NET. Nó cho phép các nhà phát triển làm việc với cơ sở dữ liệu bằng cách sử dụng các đối tượng .NET, giúp giảm thiểu mã SQL thủ công. Dưới đây là hướng dẫn cơ bản về cách sử dụng EF Core để thực hiện các thao tác CRUD (Create, Read, Update, Delete) trong C#.
1. Tạo Dự án và Cài Đặt Entity Framework Core
a. Tạo Dự án
- Mở Visual Studio.
- Chọn Create a new project.
- Chọn Console App (.NET Core) và nhấp Next.
- Đặt tên cho dự án và chọn đường dẫn lưu trữ, sau đó nhấp Create.
b. Cài Đặt Entity Framework Core
- Mở Package Manager Console từ Tools > NuGet Package Manager.
- Chạy các lệnh sau để cài đặt EF Core và provider cho SQL Server:
Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
2. Tạo Mô Hình Dữ Liệu và DbContext
a. Tạo Các Lớp Mô Hình
Tạo một thư mục mới trong dự án của bạn, gọi là Models
, và thêm một lớp mới cho mỗi mô hình dữ liệu. Ví dụ, tạo một lớp Product
:
namespace YourNamespace.Models
{
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
}
b. Tạo DbContext
Tạo một lớp DbContext để quản lý kết nối và ánh xạ cơ sở dữ liệu. Tạo một tệp mới gọi là AppDbContext.cs
:
using Microsoft.EntityFrameworkCore;
using YourNamespace.Models;
namespace YourNamespace
{
public class AppDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("YourConnectionString");
}
}
}
3. Tạo và Ánh Xạ Cơ Sở Dữ Liệu
a. Thêm Migration và Tạo Cơ Sở Dữ Liệu
- Mở Package Manager Console.
- Chạy các lệnh sau để thêm migration và cập nhật cơ sở dữ liệu:
Add-Migration InitialCreate
Update-Database
4. Thực Hiện Các Thao Tác CRUD
a. Thêm Dữ Liệu (Create)
using System;
using YourNamespace;
using YourNamespace.Models;
class Program
{
static void Main()
{
using (var context = new AppDbContext())
{
var product = new Product
{
Name = "Laptop",
Price = 999.99m
};
context.Products.Add(product);
context.SaveChanges();
Console.WriteLine("Product added successfully.");
}
}
}
b. Đọc Dữ Liệu (Read)
using System;
using System.Linq;
using YourNamespace;
using YourNamespace.Models;
class Program
{
static void Main()
{
using (var context = new AppDbContext())
{
var products = context.Products.ToList();
foreach (var product in products)
{
Console.WriteLine($"ID: {product.Id}, Name: {product.Name}, Price: {product.Price}");
}
}
}
}
c. Cập Nhật Dữ Liệu (Update)
using System;
using YourNamespace;
using YourNamespace.Models;
class Program
{
static void Main()
{
using (var context = new AppDbContext())
{
var product = context.Products.FirstOrDefault(p => p.Name == "Laptop");
if (product != null)
{
product.Price = 899.99m;
context.SaveChanges();
Console.WriteLine("Product updated successfully.");
}
}
}
}
d. Xóa Dữ Liệu (Delete)
using System;
using YourNamespace;
using YourNamespace.Models;
class Program
{
static void Main()
{
using (var context = new AppDbContext())
{
var product = context.Products.FirstOrDefault(p => p.Name == "Laptop");
if (product != null)
{
context.Products.Remove(product);
context.SaveChanges();
Console.WriteLine("Product deleted successfully.");
}
}
}
}
Tổng Kết
Entity Framework Core là một công cụ mạnh mẽ để quản lý cơ sở dữ liệu trong các ứng dụng .NET. Bằng cách sử dụng EF Core, bạn có thể dễ dàng thực hiện các thao tác CRUD mà không cần viết mã SQL thủ công. Việc hiểu và sử dụng các tính năng của EF Core sẽ giúp bạn phát triển các ứng dụng dữ liệu một cách nhanh chóng và hiệu quả.
Comments