Должен ли я использовать только DbContext или DbSet при выполнении CRUD в ASP. NET Core с использованием EF Core - PullRequest
0 голосов
/ 16 июня 2020

Насколько мне известно, вы можете выполнять CRUD, используя только DdbContext или сам DbSet (поверх DbContext). Один способ лучше другого?

Create:

Dbset:

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

DbContext Only :

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

Чтение:

DbSet:

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

Только DbContext:

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

Обновление:

Только DbContext:

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

Удалить:

DbSet:

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

Только DbContext:

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

1 Ответ

0 голосов
/ 16 июня 2020

Я нашел свой anwser, кажется, они делают то же самое, например, dbset.Add () просто вызывает dbcontext.Add ().

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

DbSet Code на Github

...