Asp.net mvc 3 如何在asp.net mvc3中使用实体框架进行更新?

Asp.net mvc 3 如何在asp.net mvc3中使用实体框架进行更新?,asp.net-mvc-3,sql-server-2008,entity-framework,Asp.net Mvc 3,Sql Server 2008,Entity Framework,我的数据库中有一个表,其中一个名为NumOfView的列显示链接的点击次数。该链接显示此表中某行的一些信息。我在锚定标记中使用了onclick事件,如下所示: onclick=@Url.Action("NumOfClicks", "AdvertiseHelper",new { id = Model.id[i] }) 在NUMOF函数中,我使用了以下代码 public void NumOfClicks (int id) { Ad ad1 = new Ad();

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

onclick=@Url.Action("NumOfClicks", "AdvertiseHelper",new { id = Model.id[i] })
在NUMOF函数中,我使用了以下代码

 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个单位。但我不知道如何继续编码以更新表中的这个值。有人能帮我吗?

这是该怎么做的基础。首先,您必须从数据库中选择记录本身,而不是单击次数。增加该记录上的单击次数,然后将更改提交到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();
}

这个问题也同样被问到:

这是应该如何做的基础。首先,您必须从数据库中选择记录本身,而不是单击次数。增加该记录上的单击次数,然后将更改提交到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();
}

类似的问题也提出了这样的问题:

我看不到SubmitChanges方法,但我看到了可接受的更改,并认为它与SubmitChanges方法类似,使用它但不起作用…@Tena您的storedb看起来是一个
ObjectContext
。为了更新数据库,您需要它是一个
DataContext
。如果您不在这里使用数据库,我需要更多地了解您的数据结构是如何定位的。谢谢您的回答和时间。我在我的项目中使用了这个链接。我使用的方法与之类似。@Tena:好的,看起来您的示例使用的是EntityFramework,而不是Linq 2 Sql(一个细微的区别,但很重要)。我将发布一个应该合适的方法的更新,并链接到一篇类似的SO文章。我看不到SubmitChanges方法,但我看到了可接受的更改,并认为它与SubmitChanges方法相似并使用它,但不起作用…@Tena您的storedb看起来是一个
ObjectContext
。为了更新数据库,您需要它是一个
DataContext
。如果您不在这里使用数据库,我需要更多地了解您的数据结构是如何定位的。谢谢您的回答和时间。我在我的项目中使用了这个链接。我使用的方法与之类似。@Tena:好的,看起来您的示例使用的是EntityFramework,而不是Linq 2 Sql(一个细微的区别,但很重要)。我将发布一个更新的方法,应该是适当的,并链接到一篇类似的SO文章。