我将展示的以下代码正常工作,但我想知道是否有更有效的方法来完成此任务可以提高性能。开玩笑的是我有2个表格和关注者。此代码应修改配置文件表中的2条记录,并在关注者表中添加记录。
[HttpPost]
public void AddFollower(int id,following followers)
{
// me wants to follows followee
int me = Convert.ToInt32(User.Identity.Name);
using (var scope = new TransactionScope())
{
followers.me = me;
followers.ProfileID = id;
// Add new record on followers table
db.followings.Add(followers);
db.SaveChanges();
// Add +1 following for this persons profile & save it
var UserA = (from s in db.profiles where s.ID == me select s).FirstOrDefault();
UserA.following = UserA.following + 1;
db.Entry(UserA).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
// Add +1 followers for this persons profile & save it
var UserB = (from s in db.profiles where s.ID == id select s).FirstOrDefault();
UserB.followers = profiles.followers + 1;
db.Entry(UserB).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
scope.Complete();
}
}
上面的代码有一个像功能一样的推特,如果用户A决定关注用户B,那么你最多修改他们在数据库中的配置文件。这是通过将用户A跟随计数增加1并将用户B关注者数增加1然后在关注者表中创建该关系来完成的。这段代码完美无缺,但我不知道它是否可以更高效地编写,我基本上担心如果网站上有很多用户,这些代码可能会减慢速度。
答案 0 :(得分:0)
存储数字真的是多余的。这是一个计算值,可以通过简单的计数轻松计算。