.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
在`Main`方法中,我们首先创建了一个`AppDbContext`实例,并调用`EnsureCreated`方法来创建数据库(如果不存在的话)。
接下来,我们添加了一个新的产品,并调用`SaveChanges`方法将更改保存到数据库中。
然后,我们使用`ToList`方法查询了所有的产品,并使用`foreach`循环打印了每个产品的信息。
接着,我们通过`FirstOrDefault`方法找到了要更新的产品,并修改了其价格,并再次调用`SaveChanges`方法将更改保存到数据库中。
最后,我们通过`FirstOrDefault`方法找到了要删除的产品,并调用`Remove`方法将其从数据库中删除,并再次调用`SaveChanges`方法将更改保存到数据库中。
这只是一个简单的示例,演示了如何使用EF Core进行数据库操作。实际上,EF Core提供了更多的功能和灵活性,可以进行更复杂的查询和操作。

