Asp.net mvc 3 如何在asp.net mvc3中使用实体框架进行更新?
我的数据库中有一个表,其中一个名为NumOfView的列显示链接的点击次数。该链接显示此表中某行的一些信息。我在锚定标记中使用了onclick事件,如下所示: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();
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文章。