×

Hướng dẫn thực hiện CRUD trong C# với Entity Framework Core

CRUD (Create, Read, Update, Delete) là các thao tác cơ bản để quản lý dữ liệu trong ứng dụng. Dưới đây là hướng dẫn thực hiện các thao tác CRUD trong C# với ví dụ sử dụng Entity Framework Core, một ORM phổ biến trong .NET.

1. Tạo (Create)

Để thêm mới một đối tượng vào cơ sở dữ liệu:

public class MyDbContext : DbContext {
    public DbSet<Product> Products { get; set; }
}

public class Product {
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

public class Program {
    public static async Task Main() {
        using (var context = new MyDbContext()) {
            var product = new Product {
                Name = "Sample Product",
                Price = 19.99m
            };
            context.Products.Add(product);
            await context.SaveChangesAsync();
        }
    }
}

2. Đọc (Read)

Để lấy dữ liệu từ cơ sở dữ liệu:

public class Program {
    public static async Task Main() {
        using (var context = new MyDbContext()) {
            // Đọc tất cả sản phẩm
            var products = await context.Products.ToListAsync();
            foreach (var product in products) {
                Console.WriteLine($"ID: {product.Id}, Name: {product.Name}, Price: {product.Price}");
            }

            // Đọc một sản phẩm theo ID
            var productId = 1;
            var singleProduct = await context.Products.FindAsync(productId);
            if (singleProduct != null) {
                Console.WriteLine($"ID: {singleProduct.Id}, Name: {singleProduct.Name}, Price: {singleProduct.Price}");
            }
        }
    }
}

3. Cập nhật (Update)

Để sửa đổi dữ liệu đã tồn tại:

public class Program {
    public static async Task Main() {
        using (var context = new MyDbContext()) {
            var productId = 1;
            var product = await context.Products.FindAsync(productId);
            if (product != null) {
                product.Price = 29.99m; // Cập nhật giá sản phẩm
                context.Products.Update(product);
                await context.SaveChangesAsync();
            }
        }
    }
}

4. Xóa (Delete)

Để xóa một đối tượng khỏi cơ sở dữ liệu:

public class Program {
    public static async Task Main() {
        using (var context = new MyDbContext()) {
            var productId = 1;
            var product = await context.Products.FindAsync(productId);
            if (product != null) {
                context.Products.Remove(product);
                await context.SaveChangesAsync();
            }
        }
    }
}

Tổng Quan về Các Bước:

  1. Create: Thực hiện thêm mới đối tượng vào cơ sở dữ liệu bằng cách sử dụng phương thức Add và sau đó gọi SaveChanges để lưu thay đổi.

  2. Read: Thực hiện lấy dữ liệu từ cơ sở dữ liệu bằng các phương thức như ToList, Find, và các truy vấn LINQ.

  3. Update: Tìm đối tượng cần cập nhật, thay đổi thuộc tính, và sử dụng phương thức Update để lưu thay đổi vào cơ sở dữ liệu.

  4. Delete: Tìm đối tượng cần xóa và sử dụng phương thức Remove để xóa đối tượng khỏi cơ sở dữ liệu.

Lưu Ý:

  • Entity Framework Core: Đây là ORM cho phép bạn thực hiện các thao tác CRUD một cách dễ dàng. Bạn cần cấu hình cơ sở dữ liệu và các lớp thực thể để Entity Framework hoạt động.

  • Kết nối Cơ Sở Dữ Liệu: Đảm bảo rằng bạn đã cấu hình kết nối cơ sở dữ liệu đúng trong DbContext.

  • Async/Await: Sử dụng từ khóa asyncawait giúp thực hiện các thao tác không đồng bộ, giúp ứng dụng không bị chặn khi thực hiện các thao tác cơ sở dữ liệu.

CRUD là các thao tác cơ bản nhất và rất quan trọng trong bất kỳ ứng dụng nào cần quản lý dữ liệu. Các ví dụ trên cho thấy cách thực hiện chúng trong C# bằng cách sử dụng Entity Framework Core, nhưng bạn có thể sử dụng các phương pháp khác như ADO.NET hoặc Dapper tùy thuộc vào yêu cầu của ứng dụng.

Comments