有错误声明
一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。
当我触发SaveChangesAsync()函数时。请参阅下面的代码:
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有人能告诉我我的密码有什么问题吗?谢谢。
更新:添加了异常堆栈。

发布于 2019-05-02 09:56:56
我通过检查字符的长度来解决这个问题,根据您在对象上放置的数据注释或验证器注释,这可能是不同的错误。若要双重检查您的验证是否正确,您可以检查EntityValidationErrors下的异常堆栈以获得更多有关它的深度信息,请参见下面的图像。
public class GraveDKIStore {
...
[MaxLength(5)] // The issue is here so I changed it to 10.
public string MsgType { get; set; }
...
}

感谢罗曼·多斯科奇给出的一个非常有用的建议。
https://stackoverflow.com/questions/55948366
复制相似问题