如何 select & 使用 EF Core 3.1 更新单个字段

How to select & update a single field using EF Core 3.1

如何实现此功能,如:

UPDATE BlogSite
SET PostCount = PostCount + 1
WHERE BlogId = @BlogId

基于 entity framework 3.1 (MySQL)

// I assume your DBContext object is _db.

var blogSite=_db.BlogSite.Find(BlogId);
blogSite.PostCount++;
_db.SaveChanges();

除了@sadullah 的回答,

为了使其原子化和高效,我建议您将其包装在一个事务中,因为您有两个数据库操作(select,更新)。而且您可能还想考虑使用 efcore 函数的异步版本。

using (var transaction = await _yourDbContext.Database.BeginTransactionAsync())
{
    var entry = await _yourDbContext.BlogSite.FindAsync(*);
    entry.PostCount++;
    await _yourDbContext.SaveChangesAsync();

    await transaction.CommitAsync();
}