0

データベース内で変更を行う tolist メソッドがありますが、 Where 句が true である回数をカウントしたいと思います。Tolist はどのようにカウントを追加できますか..

   // the count to see how many times getid== x.RegistrationID 
List<Article> getprofile = (from x in db.Articles where getid == x.RegistrationID select x).ToList();
            foreach (var items in getprofile)
            {
                items.articlecount = items.articlecount + 1;
                db.Entry(items).State = EntityState.Modified;
                db.SaveChanges();
            }
4

1 に答える 1

0

記事の数をdb.Articleに保存しているようです。なぜdb.Userに保存しないのですか。db.Article に格納する場合は、ユーザー Articles ごとに Arcticle.articlecount を変更する必要があるため、難しいでしょう。上記のコードは不確実性の計算を引き起こす可能性があると思います。AddArticle メソッドで記事を追加するたびに記事数を追加します。

public void AddArticle(Article article)
    {
        ... your add new article code

        // increase articlecount at db.User
        db.Users.Where(c => c.userid == article.getid).FirstOrDefault().articlecount += 1;
        db.SubmitChanges();
    }

または、カウントを取得するために保存する必要はありません。

int articlecount = db.Articles.Where(c => c.getid == RegistrationID ).Count();

より安全だと思います。

于 2013-02-10T23:25:45.407 に答える