0

データベースに、NumOfView という名前の列の 1 つにリンクのクリック数が表示されるテーブルがあります。そのリンクは、この表の行からの情報を示しています。次のようにアンカータグで 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の質問でも同様に尋ねられました:EntityFramework-テーブルの行を更新します

于 2012-06-14T11:44:56.727 に答える