首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >触发EntityFramework ()时SaveChangesAsync错误

触发EntityFramework ()时SaveChangesAsync错误
EN

Stack Overflow用户
提问于 2019-05-02 08:24:09
回答 1查看 280关注 0票数 0

有错误声明

一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。

当我触发SaveChangesAsync()函数时。请参阅下面的代码:

代码语言:javascript
复制
using (var context = new CommonDBContext()) {
    var bbrs = await context.Table1
        .ToListAsync();

    var lastIndexToRemove = pimc.Result.IndexOf("UIX/");
    if (lastIndexToRemove > -1)
    {
        bbrPimcStr = pimc.Result.Remove(0, lastIndexToRemove);
    }

    foreach (var bbr in bbrs) {
        bbr.XBBR = xbbrStr;
        bbr.LastUpdated = DateTime.Now;
        bbr.LastUpdatedBy = userId;

        if (!pimc.HasError)
        {
            var graveDKI = context.graveDKIStore
                .Where(x => x.RefId == bbr.Id)
                .FirstOrDefault();

            if (graveDKI != null)
                graveDKI.GraveDKI = bbrPimcStr ;
            else
                context.graveDKIStore.Add(new graveDKIStore
                {
                    Id = Guid.NewGuid(),
                    GraveDKI = bbrPimcStr ,
                    RefId = bbr.Id,
                    MsgType = "PPIXFFT"
                });
        }
    }
    return await context.SaveChangesAsync(); // Got issue here

有人能告诉我我的密码有什么问题吗?谢谢。

更新:添加了异常堆栈。

EN

回答 1

Stack Overflow用户

发布于 2019-05-02 09:56:56

我通过检查字符的长度来解决这个问题,根据您在对象上放置的数据注释或验证器注释,这可能是不同的错误。若要双重检查您的验证是否正确,您可以检查EntityValidationErrors下的异常堆栈以获得更多有关它的深度信息,请参见下面的图像。

代码语言:javascript
复制
public class GraveDKIStore {
...
[MaxLength(5)] // The issue is here so I changed it to 10.
public string MsgType { get; set; }
...
}

感谢罗曼·多斯科奇给出的一个非常有用的建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55948366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档