如何在C#中保存更改

时间:2016-06-22 16:23:39

标签: c# entity-framework

我想在这里保存更改,我在db.SaveChanges()上遇到异常错误;我正在尝试向数据库输入一些内容,并说它需要进行验证。

这是错误:

  

一个或多个实体的验证失败。看到   'EntityValidationErrors'属性以获取更多详细信息。

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:   System.Data.Entity.Validation.DbEntityValidationException:验证   一个或多个实体失败。请参阅'EntityValidationErrors'属性   了解更多详情。

            using (GameConnection db = new GameConnection())
            {

                Game newGame = new Game();
                int GameID = 0;
                if (Request.QueryString.Count > 0) 
                {
                    GameID = Convert.ToInt32(Request.QueryString["gameID"]);
                    newGame = (from game in db.Games
                               where game.gameID == GameID
                               select game).FirstOrDefault();
                }
                newGame.teamA = teamATextBox.Text;
                newGame.teamB = teamBTextBox.Text;

                if (GameID == 0)
                {
                    db.Games.Add(newGame);
                }

                db.SaveChanges();
                Response.Redirect("~/Default.aspx");
            }
        }

1 个答案:

答案 0 :(得分:2)

在向数据库提交请求之前,错误表明至少有一个验证规则失败。

您需要做的是检查int size=strlen(array); printf("%s\n",array); printf("%d\n",size); (或数据库表)的类定义并检查Game或其他限制,并通过调试{{1来检查您的输入是否符合所有这些约束NotNull

之前的对象

更好的是,在Game失败的db.SaveChanges();添加一个要打印的抓点:

Console