0

我的数据库中有一个表格,其中一个名为 NumOfView 的列显示了链接上的点击次数。该链接显示了此表中一行的一些信息。我在锚标记中使用了 onclick 事件,如下所示:

onclick=@Url.Action("NumOfClicks", "AdvertiseHelper",new { id = Model.id[i] })

在 NumOfClicks 函数中,我使用了这段代码

 public void NumOfClicks (int id)
    {
        Ad ad1 = new Ad();
        var advert = (from ad in storedb.Ads where ad.AdId == id select     ad.NumOfView).First();
        advert += 1;

    }

广告

是数量

浏览次数

在表中,我想将其增加 1 个单位。但我不知道如何继续编码以更新表中的此值。有人可以帮我吗?

4

1 回答 1

3

这是应该如何完成的基础知识。首先,您必须从数据库中选择记录本身,而不是点击次数。增加对该记录的点击次数,然后将更改提交到 DataContext。

public void IncrementClickCount(int id)
{
    var advert = 
        (from ad in storedb.Ads 
         where ad.AdId == id
         select ad).Single();   // Select the row in the database represented by "ad"
    advert.NumOfView++;         // Perform the increment on the column

    // SubmitChanges is how an update is done in Linq2Sql 
    // This requires a .dbml file for the database object file
    // storedb.SubmitChanges();    // Assumes storedb is a valid DataContext, updates

    // SaveChanges is how an update is done in EntityFramework
    // It is recognizable because it uses an .edmx file for its database object
    storedb.SaveChanges();
}

这在 SO 问题中也有类似的问题:Entity Framework - Update a row in a table

于 2012-06-14T11:44:56.727 回答