C# 更新数据库中网页的浏览次数
我有一个名为“Posts”的数据库表,它存储了关于网站上提交的文章的所有信息。有一个名为“Views”的列,它是一个值,每次查看特定的帖子时该值都会递增 过程如下:C# 更新数据库中网页的浏览次数,c#,.net,asp.net,asp.net-mvc,C#,.net,Asp.net,Asp.net Mvc,我有一个名为“Posts”的数据库表,它存储了关于网站上提交的文章的所有信息。有一个名为“Views”的列,它是一个值,每次查看特定的帖子时该值都会递增 过程如下: 从数据库中获取记录 使电流增加1 将更改保存到数据库 很简单。我担心的是,如果多人同时点击链接,更新将不准确。我应该如何处理这个问题?这应该只在存储过程中执行吗 /// <summary> /// Updates the view count of a post. /// </summary
/// <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);
}
//
///更新文章的视图计数。
///
///要更新的帖子的Id
公共bool UpdateViewCount(int postId)
{
Repository Repository=新存储库();
Post p=repository.Posts.Where(p=>p.Id==postd.SingleOrDefault();
如果(p!=null)
{
p、 视图++;
}
提交更改(System.Data.Linq.ConflictMode.ContinueOnConflict);
}
一次完成:
UPDATE table SET views=views+1 WHERE myId=12;
如果您的数据库上下文被称为_db,那么您可以使用它
_db.ExecuteCommand("UPDATE posts SET views=views+1 WHERE id={0}", postId);
要进一步阅读,请查看顾的帖子