如何实现此功能,如:
UPDATE BlogSite
SET PostCount = PostCount + 1
WHERE BlogId = @BlogId
基于实体框架3.1(MySQL)
答案 0 :(得分:1)
// I assume your DBContext object is _db.
var blogSite=_db.BlogSite.Find(BlogId);
blogSite.PostCount++;
_db.SaveChanges();
答案 1 :(得分:0)
除了@sadullah的答案,
为了使其具有原子性和高性能,我建议您通过事务包装它,因为您有两个数据库操作(选择,更新)。而且,您可能还需要考虑使用efcore函数的异步版本。
using (var transaction = await _yourDbContext.Database.BeginTransactionAsync())
{
var entry = await _yourDbContext.BlogSite.FindAsync(*);
entry.PostCount++;
await _yourDbContext.SaveChangesAsync();
await transaction.CommitAsync();
}