C#系列-C#EF框架实现增删改查(1对N)(28)

 C#中,Entity Framework (EF) 是一个流行的对象关系映射器 (ORM),它使得开发者可以使用面向对象的方式来操作数据库。使用EF,你可以将数据库表映射到C#类,并使用EF提供的方法来执行数据库操作,如增加、删除、修改和查询数据。

以下是如何使用Entity Framework CoreEF Core)实现增删改查的基本步骤:

1. 定义实体类

首先,你需要定义与数据库表对应的C#实体类。

csharp代码

using System.ComponentModel.DataAnnotations;

using System.ComponentModel.DataAnnotations.Schema;

public class Blog

{

[Key]

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public int BlogId { get; set; }

public string Url { get; set; }

public List<Post> Posts { get; set; }

}

public class Post

{

[Key]

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public int PostId { get; set; }

public string Title { get; set; }

public string Content { get; set; }

[ForeignKey("Blog")]

public int BlogId { get; set; }

public Blog Blog { get; set; }

}

2. 配置DbContext

接下来,你需要配置DbContext,这是EF Core的核心类,它提供了数据库操作的方法。

csharp代码

using Microsoft.EntityFrameworkCore;

public class BloggingContext : DbContext

{

public DbSet<Blog> Blogs { get; set; }

public DbSet<Post> Posts { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

{

optionsBuilder.UseSqlServer("你的数据库连接字符串");

}

}

3. 执行增删改查操作

使用DbContext实例,你可以执行增删改查操作。

添加 (Create)
csharp代码

using (var context = new BloggingContext())

{

var newBlog = new Blog { Url = "http://blogs.msdn.com/adonet" };

context.Add(newBlog);

context.SaveChanges();

}

读取 (Read)
csharp代码

using (var context = new BloggingContext())

{

var blog = context.Blogs.FirstOrDefault(b => b.BlogId == 1);

}

更新 (Update)
csharp代码

using (var context = new BloggingContext())

{

var blog = context.Blogs.Find(1);

blog.Url = "http://example.com/blogs";

context.SaveChanges();

}

删除 (Delete)
csharp代码

using (var context = new BloggingContext())

{

var blog = context.Blogs.Find(1);

context.Blogs.Remove(blog);

context.SaveChanges();

}

4. 依赖注入 (Dependency Injection)

ASP.NET Core项目中,通常使用依赖注入来管理DbContext实例的生命周期。

Startup.cs中配置服务:

csharp代码

public void ConfigureServices(IServiceCollection services)

{

services.AddDbContext<BloggingContext>(options =>

options.UseSqlServer("你的数据库连接字符串"));

}

然后在控制器或服务中注入DbContext

csharp代码

public class BlogController : ControllerBase

{

private readonly BloggingContext _context;

public BlogController(BloggingContext context)

{

_context = context;

}

// ... 这里可以使用 _context 进行数据库操作 ...

}

确保数据库连接字符串在你的应用程序的配置文件中正确设置,以便EF Core可以连接到数据库。

以上就是在C#中使用Entity Framework Core实现增删改查的基本步骤。实际项目中可能还需要处理更复杂的情况,比如事务管理、并发冲突、查询优化等。

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

管理大亨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值