当前位置:实例文章 » C#开发实例» [文章].Net C# 使用 EF Core

.Net C# 使用 EF Core

发布人:shili8 发布时间:2023-07-04 14:31 阅读次数:100

下面是一个使用EF Core的.NET C#示例,包含了一些代码注释:

csharp
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;

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

// 定义一个继承自DbContext的数据库上下文类
public class AppDbContext : DbContext
{
    public DbSet Products { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        // 配置数据库连接字符串
        optionsBuilder.UseSqlServer(Server=(localdb)mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;);
    }
}

public class Program
{
    public static void Main()
    {
        // 创建数据库上下文实例
        using (var dbContext = new AppDbContext())
        {
            // 创建数据库
            dbContext.Database.EnsureCreated();

            // 添加新产品
            var newProduct = new Product { Name = Product 1 Price = 9.99m };
            dbContext.Products.Add(newProduct);
            dbContext.SaveChanges();

            // 查询所有产品
            var products = dbContext.Products.ToList();
            foreach (var product in products)
            {
                Console.WriteLine($Product ID: {product.Id} Name: {product.Name} Price: {product.Price});
            }

            // 更新产品
            var productToUpdate = dbContext.Products.FirstOrDefault(p => p.Name == Product 1);
            if (productToUpdate != null)
            {
                productToUpdate.Price = 19.99m;
                dbContext.SaveChanges();
            }

            // 删除产品
            var productToDelete = dbContext.Products.FirstOrDefault(p => p.Name == Product 1);
            if (productToDelete != null)
            {
                dbContext.Products.Remove(productToDelete);
                dbContext.SaveChanges();
            }
        }
    }
}


在上面的示例中,我们首先定义了一个`Product`实体类,它表示数据库中的一个产品。然后,我们创建了一个继承自`DbContext`的`AppDbContext`类,用于与数据库进行交互。

在`AppDbContext`类中,我们定义了一个`DbSet`属性,用于表示数据库中的`Products`表。然后,我们在`OnConfiguring`方法中配置了数据库连接字符串。

在`Main`方法中,我们首先创建了一个`AppDbContext`实例,并调用`EnsureCreated`方法来创建数据库(如果不存在的话)。

接下来,我们添加了一个新的产品,并调用`SaveChanges`方法将更改保存到数据库中。

然后,我们使用`ToList`方法查询了所有的产品,并使用`foreach`循环打印了每个产品的信息。

接着,我们通过`FirstOrDefault`方法找到了要更新的产品,并修改了其价格,并再次调用`SaveChanges`方法将更改保存到数据库中。

最后,我们通过`FirstOrDefault`方法找到了要删除的产品,并调用`Remove`方法将其从数据库中删除,并再次调用`SaveChanges`方法将更改保存到数据库中。

这只是一个简单的示例,演示了如何使用EF Core进行数据库操作。实际上,EF Core提供了更多的功能和灵活性,可以进行更复杂的查询和操作。

其他信息

其他资源

Top