C# 使用EF操作数据库

当使用C#时,Entity Framework (EF) 是一个非常强大的对象关系映射 (ORM) 工具,用于简化与数据库的交互。下面是一个简单的步骤指南,说明如何使用Entity Framework进行数据库操作:

  1. 创建一个数据库模型

    • 在Visual Studio中创建一个新的C#项目。
    • 安装Entity Framework NuGet包。
    • 定义你的数据库模型,通常是创建一个包含表的类。
    • 根据需要,使用DbContext类来定义数据库上下文。
  2. 创建实体类

    • 实体类是数据库表的映射,每个实体类对应数据库中的一张表。
    • 在C#中,创建一个类,其中的属性对应于表中的列。
  3. 创建数据库上下文

    • 创建一个继承自DbContext的类。
    • 在该类中,使用DbSet<TEntity>属性来表示数据库中的表,其中TEntity是你定义的实体类。
  4. 配置数据库连接

    • App.config或者Web.config中配置数据库连接字符串,以便Entity Framework知道如何连接到你的数据库。
  5. 执行数据库操作

    • 使用创建的数据库上下文类来执行数据库操作,如插入、更新、删除或查询数据。

using System;
using System.Linq;
using Microsoft.EntityFrameworkCore;

// 实体类
public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

// 数据库上下文类
public class MyDbContext : DbContext
{
    public DbSet<Product> Products { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer("YourConnectionString");
    }
}

public class Program
{
    public static void Main(string[] args)
    {
        // 添加产品
        AddProduct(new Product { Name = "Product A", Price = 10.5m });

        // 显示所有产品
        ShowAllProducts();

        // 更新产品
        UpdateProduct(1, "Updated Product A", 15.0m);

        // 删除产品
        DeleteProduct(2);

        // 显示所有产品
        ShowAllProducts();

        Console.ReadLine();
    }

    // 添加产品
    public static void AddProduct(Product product)
    {
        using (var context = new MyDbContext())
        {
            context.Products.Add(product);
            context.SaveChanges();
            Console.WriteLine("Product added successfully.");
        }
    }

    // 显示所有产品
    public static void ShowAllProducts()
    {
        using (var context = new MyDbContext())
        {
            var products = context.Products.ToList();
            Console.WriteLine("All Products:");
            foreach (var product in products)
            {
                Console.WriteLine($"ID: {product.Id}, Name: {product.Name}, Price: {product.Price}");
            }
        }
    }

    // 更新产品
    public static void UpdateProduct(int id, string newName, decimal newPrice)
    {
        using (var context = new MyDbContext())
        {
            var product = context.Products.FirstOrDefault(p => p.Id == id);
            if (product != null)
            {
                product.Name = newName;
                product.Price = newPrice;
                context.SaveChanges();
                Console.WriteLine("Product updated successfully.");
            }
            else
            {
                Console.WriteLine("Product not found.");
            }
        }
    }

    // 删除产品
    public static void DeleteProduct(int id)
    {
        using (var context = new MyDbContext())
        {
            var product = context.Products.FirstOrDefault(p => p.Id == id);
            if (product != null)
            {
                context.Products.Remove(product);
                context.SaveChanges();
                Console.WriteLine("Product deleted successfully.");
            }
            else
            {
                Console.WriteLine("Product not found.");
            }
        }
    }
}

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值