Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用MVC4更新控制器中的数据库_C#_Asp.net Mvc 4_Controller - Fatal编程技术网

C# 使用MVC4更新控制器中的数据库

C# 使用MVC4更新控制器中的数据库,c#,asp.net-mvc-4,controller,C#,Asp.net Mvc 4,Controller,在表单的post中,我通过Ajax将信息发送到post actionresult的补充控制器中,并将该信息实现到一个表中。这很好,但是我有这些数据,我想用这些数据更新我的另一个表 我的ArticleScore表中有ArticleID、TimeRated和Rating的值。在我的文章表中,我需要将这个ArticleScore表中的计算数据抛出到我的文章表中的特定字段中,但其中ArticleID=Article表的ID 我已经搜索了几个小时,但找不到任何关于如何执行此操作的资源。 如果你能帮助一个需

在表单的post中,我通过Ajax将信息发送到post actionresult的补充控制器中,并将该信息实现到一个表中。这很好,但是我有这些数据,我想用这些数据更新我的另一个表

我的ArticleScore表中有ArticleID、TimeRated和Rating的值。在我的文章表中,我需要将这个ArticleScore表中的计算数据抛出到我的文章表中的特定字段中,但其中ArticleID=Article表的ID

我已经搜索了几个小时,但找不到任何关于如何执行此操作的资源。 如果你能帮助一个需要帮助的绝望的人,那就太好了

干杯

这是我的控制器:

    [HttpPost]
    public ActionResult ViewArticle(int articleID, int rate, int userID)
    {
        Article article = db.Articles
            .Include(i => i.AgeGroupToArticles.Select(a => a.AgeGroup))
            .Include(i => i.DisabilitiesToArticles.Select(a => a.Disabilities))
            .Include(i => i.StrategyTypeToArticles.Select(a => a.StrategyType))
            .Where(i => i.ID == articleID)
            .Single();


        try
        {
            db.ArticleScores.Add(new ArticleScore
            {
                ArticleID = articleID,
                UserID = userID,
                Voted = 1,
                ScoreValue = rate,
                ScoreCreated = DateTime.Now
            });
            db.SaveChanges();
            //Trying to hardcode this into Articles
            var allScores = db.Articles.Select(a => a.ArticleScores.Sum(b => b.ScoreValue)).First();
            var allVotes = db.Articles.Select(a => a.ArticleScores.Sum(b => b.Voted)).First();


            /*
            db.Articles.Add(new Article
            {
                ID = articleID,
                Score =  allScores / allVotes 
            });
            db.SaveChanges();*/
        } 

您注释掉的代码试图添加一篇新文章,但似乎您要做的是更新现有文章(您之前已经从db中检索到)


如果这不正确,请发布您看到的确切行为(包括任何错误消息)。

我可以看看这两个模型是如何构建的吗(Article和ArticleScore)?
article = allScores / allVotes;
db.SaveChanges();