Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# 尝试向Azure db提交数据时遇到异常_C#_Asp.net_Entity Framework_Azure_Asp.net Identity - Fatal编程技术网

C# 尝试向Azure db提交数据时遇到异常

C# 尝试向Azure db提交数据时遇到异常,c#,asp.net,entity-framework,azure,asp.net-identity,C#,Asp.net,Entity Framework,Azure,Asp.net Identity,我有一个帖子表单,用户可以在其中输入他们帖子的标题和描述。还有一个submit按钮,它可以触发我的submit\u Post事件 在我尝试保存数据库中的更改之前,一切似乎都正常运行 protected void Submit_Post(object sender, EventArgs e) { using (website_dbEntities objEnt = new website_dbEntities()) { Post postData = new Po

我有一个帖子表单,用户可以在其中输入他们帖子的标题和描述。还有一个submit按钮,它可以触发我的submit\u Post事件

在我尝试保存数据库中的更改之前,一切似乎都正常运行

protected void Submit_Post(object sender, EventArgs e)
{
    using (website_dbEntities objEnt = new website_dbEntities())
    {

        Post postData = new Post()
        {
            PostTitle = txtPostTitle.Text,
            PostDescription = txtPostDescription.Text,
        };

        //Add post data to db
        objEnt.Posts.Add(postData);
        objEnt.SaveChanges();    //hits exception here
    }
}
这是我得到的一个例外:

EntityFramework.dll中出现“System.Data.Entity.Infrastructure.DbUpdateException”类型的异常,但未在用户代码中处理


我尝试了一些不同的方法,如何解决这个问题?

将此作为社区wiki发布,因为这本身不是一个答案,但能够清楚地看到哪些属性阻止更新,这让我节省了很多时间:

try
{
    context.SaveChanges();
}
catch (DbEntityValidationException ex)
{
    var errorMessages = ex.EntityValidationErrors
        .SelectMany(x => x.ValidationErrors)
        .Select(x => x.ErrorMessage);

    var fullErrorMessage = string.Join("; ", errorMessages);
    var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);
    throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
}

这实际上是将单个属性验证错误添加到死亡黄屏上的异常中。因此,不要只是被告知EF更新失败,而是了解它为什么更新失败。这将帮助您确定问题的根源。

您已经尝试过哪些不同的方法?调试器告诉您有关添加的数据的信息-数据看起来正常吗?请检查异常以查看是否存在内部异常。所有的.aspx内容都与问题无关,因此您可能希望删除它-如果人们不必阅读大量不相关的代码,他们会更愿意提供帮助:-我尝试过将SaveChanges取出,寻找不同的内容,并在网上寻找不同的解决方案。调试器说,它们在尝试更新条目时出错,并且也查看了内部异常以了解更多详细信息,我如何做到这一点?我输入的数据在这两个领域都是测试数据。现在使用这个,肯定非常有用。问题在于我的一把外键。