我有一个名为“帖子”的数据库表,它存储有关网站上文章提交的所有信息。有一个名为“Views”的列,这是一个每次查看特定帖子时都会增加的值。
过程是这样的:
非常简单。我担心的是,如果多人同时点击该链接,则更新将不准确。我该怎么做呢?这应该只在存储过程中完成吗?
/// <summary>
/// Updates the view count of a post.
/// </summary>
/// <param name="postId">The Id of the post to update</param>
public bool UpdateViewCount(int postId)
{
Repository repository = new Repository();
Post p = repository.Posts.Where(p => p.Id == postId).SingleOrDefault();
if (p != null)
{
p.Views++;
}
repository.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);
}
答案 0 :(得分:6)
一气呵成:
UPDATE table SET views=views+1 WHERE myId=12;
答案 1 :(得分:4)
如果你的db上下文被称为_db,你可以使用它。
_db.ExecuteCommand("UPDATE posts SET views=views+1 WHERE id={0}", postId);
进一步阅读在这里查看顾的帖子。