简体   繁体   English

在使用 EF Core 在 ASP.NET Core 中执行 CRUD 时,我应该单独使用 DbContext 还是使用 DbSet

[英]Should I use DbContext alone or DbSet when performing CRUD in ASP.NET Core using EF Core

To my knowledge you can perform CRUD using both DdbContext alone, or the DbSet itself (on top of DbContext).据我所知,您可以单独使用 DdbContext 或 DbSet 本身(在 DbContext 之上)执行 CRUD。 Is one way better than the other?一种方式比另一种更好吗?

Create:创造:

Dbset:数据库集:

<DBCONTEXT>.<DBSET>.Add(Object);
<DBCONTEXT>.SaveChanges();

DbContext Only:仅 DbContext:

<DBCONTEXT>.Add(Object);
<DBCONTEXT>.SaveChanges();

Read:读:

DbSet:数据库集:

<DBCONTEXT>.<DBSET>.Find(Object.ID);

DbContext Only:仅 DbContext:

<DBCONTEXT>.Find(<Type>, Object.ID);

Update:更新:

DbContext Only:仅 DbContext:

<DBCONTEXT>.Update(Object);
<DBCONTEXT>.SaveChanges();

Delete:删除:

DbSet:数据库集:

<DBCONTEXT>.<DBSET>.Remove(Object);
<DBCONTEXT>.SaveChanges();

DbContext Only:仅 DbContext:

<DBCONTEXT>.Remove(Object);
<DBCONTEXT>.SaveChanges();

I've found my anwser, it seems they do the exact same thing, for example, the dbset.Add() simply calls dbcontext.Add().我找到了我的 anwser,似乎他们做的事情完全相同,例如,dbset.Add() 只是调用 dbcontext.Add()。

public override EntityEntry<TEntity> Add(TEntity entity)
            => _context.Add(entity);

DbSet Code on Github Github 上的 DbSet 代码

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在ASP.NET核心中使用时,如何从另一个项目访问EF核心的DbContext? - How to I access the DbContext of EF core from another project when used in ASP.NET core? 覆盖 ASP.NET Core WebApplicationFactory 中的 EF Core DbContext - Override EF Core DbContext in ASP.NET Core WebApplicationFactory 在 ASP.NET Core 中使用 DbContext 注入并行 EF Core 查询 - Parallel EF Core queries with DbContext injection in ASP.NET Core 模拟 EF 核心 dbcontext 和 dbset - Mocking EF core dbcontext and dbset 在 ASP.NET Core MVC 中将其用于 ActionFilter 时出现 DbContext 错误 - DbContext error when using it for ActionFilter in ASP.NET Core MVC 如何使用 EF Core 更新 ASP.NET 5 中的 dbcontext 脚手架? - How to update dbcontext scaffolding in ASP.NET 5 with EF Core? EF Core 中实现的存储库:使用整个 DbContext 还是仅使用 DbSet? - Repository implemented in EF Core: use whole DbContext or only DbSet? 如何在asp.net core和ef7中的并行方法中使用注入的DbContext? - How to use injected DbContext in parallel methods in asp.net core and ef7? ASP.NET EF - DbContext的DbSet未被更新 - ASP.NET EF - DbSet of DbContext not being Updated 如何使用EF在asp.net core中使用存储过程 - how to use stored procedure in asp.net core using EF
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM