使用代码优先方法为数据库播种时出现此错误。

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

老实说,我不知道如何检查验证错误的内容。 Visual Studio向我展示了这是一个包含8个对象的数组,因此出现8个验证错误。

这适用于我以前的模型,但是做了一些更改,下面解释:

  • 我有一个名为Status的枚举,我将其更改为一个名为Status的类
  • 我将类ApplicantsPositionHistory更改为在同一张表中有2个外键

对冗长的代码,请原谅,但我必须全部粘贴。 在以下代码的最后一行中引发异常。

namespace Data.Model
{  public class Position{[DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)]   public int PositionID { get; set; }[Required(ErrorMessage = "Position name is required.")][StringLength(20, MinimumLength = 3, ErrorMessage = "Name should not be longer than 20 characters.")][Display(Name = "Position name")]              public string name { get; set; }[Required(ErrorMessage = "Number of years is required")] [Display(Name = "Number of years")]        public int yearsExperienceRequired { get; set; }public virtual ICollection<ApplicantPosition> applicantPosition { get; set; }}public class Applicant{[DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)]      public int ApplicantID { get; set; }[Required(ErrorMessage = "Name is required")] [StringLength(20, MinimumLength = 3, ErrorMessage="Name should not be longer than 20 characters.")][Display(Name = "First and LastName")]public string name { get; set; }[Required(ErrorMessage = "Telephone number is required")] [StringLength(10, MinimumLength = 3, ErrorMessage = "Telephone should not be longer than 20 characters.")][Display(Name = "Telephone Number")]public string telephone { get; set; }[Required(ErrorMessage = "Skype username is required")] [StringLength(10, MinimumLength = 3, ErrorMessage = "Skype user should not be longer than 20 characters.")][Display(Name = "Skype Username")]public string skypeuser { get; set; }public byte[] photo { get; set; }public virtual ICollection<ApplicantPosition> applicantPosition { get; set; }}public class ApplicantPosition{[Key][Column("ApplicantID", Order = 0)]public int ApplicantID { get; set; }[Key][Column("PositionID", Order = 1)]public int PositionID { get; set; }public virtual Position Position { get; set; }public virtual Applicant Applicant { get; set; }[Required(ErrorMessage = "Applied date is required")] [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)][Display(Name = "Date applied")]     public DateTime appliedDate { get; set; }[Column("StatusID", Order = 0)]public int StatusID { get; set; }public Status CurrentStatus { get; set; }//[NotMapped]//public int numberOfApplicantsApplied//{//    get//    {//        int query =//             (from ap in Position//              where ap.Status == (int)Status.Applied//              select ap//                  ).Count();//        return query;//    }//}}public class Address{[StringLength(20, MinimumLength = 3, ErrorMessage = "Country should not be longer than 20 characters.")]public string Country { get; set; }[StringLength(20, MinimumLength = 3, ErrorMessage = "City  should not be longer than 20 characters.")]public string City { get; set; }[StringLength(50, MinimumLength = 3, ErrorMessage = "Address  should not be longer than 50 characters.")][Display(Name = "Address Line 1")]     public string AddressLine1 { get; set; }[Display(Name = "Address Line 2")]public string AddressLine2 { get; set; }   }public class ApplicationPositionHistory{[DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)]public int ApplicationPositionHistoryID { get; set; }public ApplicantPosition applicantPosition { get; set; }[Column("oldStatusID")]public int oldStatusID { get; set; }[Column("newStatusID")]public int newStatusID { get; set; }public Status oldStatus { get; set; }public Status newStatus { get; set; }[StringLength(500, MinimumLength = 3, ErrorMessage = "Comments  should not be longer than 500 characters.")][Display(Name = "Comments")]public string comments { get; set; }[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)][Display(Name = "Date")]     public DateTime dateModified { get; set; }}public class Status{[DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)]public int StatusID { get; set; }[StringLength(20, MinimumLength = 3, ErrorMessage = "Status  should not be longer than 20 characters.")][Display(Name = "Status")]public string status { get; set; }}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using System.IO;namespace Data.Model
{public class HRContextInitializer : DropCreateDatabaseAlways<HRContext>{protected override void Seed(HRContext context){#region StatusStatus applied = new Status() { status = "Applied" };Status reviewedByHR = new Status() { status = "Reviewed By HR" };Status approvedByHR = new Status() { status = "Approved by HR" };Status rejectedByHR = new Status() { status = "Rejected by HR" };Status assignedToTechnicalDepartment = new Status() { status = "Assigned to Technical Department" };Status approvedByTechnicalDepartment = new Status() { status = "Approved by Technical Department" };Status rejectedByTechnicalDepartment = new Status() { status = "Rejected by Technical Department" };Status assignedToGeneralManager = new Status() { status = "Assigned to General Manager" };Status approvedByGeneralManager = new Status() { status = "Approved by General Manager" };Status rejectedByGeneralManager = new Status() { status = "Rejected by General Manager" };context.Status.Add(applied);context.Status.Add(reviewedByHR);context.Status.Add(approvedByHR);context.Status.Add(rejectedByHR);context.Status.Add(assignedToTechnicalDepartment);context.Status.Add(approvedByTechnicalDepartment);context.Status.Add(rejectedByTechnicalDepartment);context.Status.Add(assignedToGeneralManager);context.Status.Add(approvedByGeneralManager);context.Status.Add(rejectedByGeneralManager); #endregion    #region PositionPosition netdeveloper = new Position() { name = ".net developer", yearsExperienceRequired = 5 };Position javadeveloper = new Position() { name = "java developer", yearsExperienceRequired = 5 };context.Positions.Add(netdeveloper);context.Positions.Add(javadeveloper); #endregion#region ApplicantsApplicant luis = new Applicant(){name = "Luis",skypeuser = "le.valencia",telephone = "0491732825",photo = File.ReadAllBytes(@"C:\Users\LUIS.SIMBIOS\Documents\Visual Studio 2010\Projects\SlnHR\HRRazorForms\Content\pictures\1.jpg")};Applicant john = new Applicant(){name = "John",skypeuser = "jo.valencia",telephone = "3435343543",photo = File.ReadAllBytes(@"C:\Users\LUIS.SIMBIOS\Documents\Visual Studio 2010\Projects\SlnHR\HRRazorForms\Content\pictures\2.jpg")};context.Applicants.Add(luis);context.Applicants.Add(john); #endregion#region ApplicantsPositionsApplicantPosition appicantposition = new ApplicantPosition(){Applicant = luis,Position = netdeveloper,appliedDate = DateTime.Today,StatusID = 1};ApplicantPosition appicantposition2 = new ApplicantPosition(){Applicant = john,Position = javadeveloper,appliedDate = DateTime.Today,StatusID = 1};        context.ApplicantsPositions.Add(appicantposition);            context.ApplicantsPositions.Add(appicantposition2); #endregioncontext.SaveChanges(); --->> Error here}}
}

#1楼

在try catch中捕获异常,然后快速观察或按ctrl + d和ctrl + q,您可以深入到EntityValidationErrors。


#2楼

对于在VB.NET工作的任何人

Try
Catch ex As DbEntityValidationExceptionFor Each a In ex.EntityValidationErrorsFor Each b In a.ValidationErrorsDim st1 As String = b.PropertyNameDim st2 As String = b.ErrorMessageNextNext
End Try

#3楼

根据@Slauma的回答和@Milton的建议,我已经用try / catch扩展了基类的自定义保存方法,该方法将处理(并因此登录我们的错误日志!)这些异常。

// Where `BaseDB` is your Entities object... (it could be `this` in a different design)
public void Save(bool? validateEntities = null)
{try{//Capture and set the validation state if we decide tobool validateOnSaveEnabledStartState = BaseDB.Configuration.ValidateOnSaveEnabled;if (validateEntities.HasValue)BaseDB.Configuration.ValidateOnSaveEnabled = validateEntities.Value;BaseDB.SaveChanges();//Revert the validation state when doneif (validateEntities.HasValue)BaseDB.Configuration.ValidateOnSaveEnabled = validateOnSaveEnabledStartState;}catch (DbEntityValidationException e){StringBuilder sb = new StringBuilder();foreach (var eve in e.EntityValidationErrors){sb.AppendLine(string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name,eve.Entry.State));foreach (var ve in eve.ValidationErrors){sb.AppendLine(string.Format("- Property: \"{0}\", Error: \"{1}\"",ve.PropertyName,ve.ErrorMessage));}}throw new DbEntityValidationException(sb.ToString(), e);}
}

#4楼

这实际上可以做到,而无需编写代码:

在您的catch块中,在以下代码行中添加一个断点:

catch (Exception exception)
{}

现在,如果您将鼠标悬停在exception或将其添加到Watch ,然后导航到异常详细信息,如下所示; 您将看到是哪个/哪些特定列引起了该问题,因为违反表约束时通常会发生此错误。

大图


#5楼

如果仅捕获通用异常,则将其强制转换DbEntityValidationException可能会有所帮助 。 这种类型的异常具有“验证错误”属性,并且继续将其扩展为它们,您将发现所有问题。

例如,如果您在捕获中放置了一个断点,则可以将以下内容放入手表:

((System.Data.Entity.Validation.DbEntityValidationException ) ex)

一个错误的例子是, 如果一个字段不允许为空,并且您有一个空字符串,您会看到它说该字段是必填字段。


#6楼

您可以在调试过程中通过Visual Studio进行操作,而无需编写任何代码,甚至不需要catch代码块。

只需添加名称如下的手表:

((System.Data.Entity.Validation.DbEntityValidationException)$exception).EntityValidationErrors

监视表达式$exception显示在当前上下文中引发的任何异常,即使尚未捕获并分配给该变量也是如此。

基于http://mattrandle.me/viewing-entityvalidationerrors-in-visual-studio/


#7楼

使用@Slauma的答案,我编写了一个代码段(带有代码段的包围)以更好地使用。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"><CodeSnippet Format="1.0.0"><Header><SnippetTypes><SnippetType>SurroundsWith</SnippetType></SnippetTypes><Title>ValidationErrorsTryCatch</Title><Author>Phoenix</Author><Description></Description><HelpUrl></HelpUrl><Shortcut></Shortcut></Header><Snippet><Code Language="csharp"><![CDATA[try
{$selected$ $end$
}
catch (System.Data.Entity.Validation.DbEntityValidationException e)
{foreach (var eve in e.EntityValidationErrors){Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",eve.Entry.Entity.GetType().Name, eve.Entry.State);foreach (var ve in eve.ValidationErrors){Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",ve.PropertyName, ve.ErrorMessage);}}throw;
}]]></Code></Snippet></CodeSnippet>
</CodeSnippets>

#8楼

当您处于catch {...}块中的调试模式时,打开“ QuickWatch”窗口( ctrl + alt + q )并粘贴在其​​中:

((System.Data.Entity.Validation.DbEntityValidationException)ex).EntityValidationErrors

要么:

((System.Data.Entity.Validation.DbEntityValidationException)$exception).EntityValidationErrors

如果您不在try / catch中或没有访问异常对象的权限。

这将允许您深入到ValidationErrors树中。 这是我发现的即时了解这些错误的最简单方法。


#9楼

快速查看第一个错误而无需添加手表的方法,可以将其粘贴到“即时窗口”中:

((System.Data.Entity.Validation.DbEntityValidationException)$exception).EntityValidationErrors.First().ValidationErrors.First()

#10楼

只需检查您的数据库表字段长度。 您的输入文本大于列字段数据类型的长度


#11楼

我不得不在立即窗口中写这个:3

(((exception as System.Data.Entity.Validation.DbEntityValidationException).EntityValidationErrors as System.Collections.Generic.List<System.Data.Entity.Validation.DbEntityValidationResult>)[0].ValidationErrors as System.Collections.Generic.List<System.Data.Entity.Validation.DbValidationError>)[0]

为了深入了解确切的错误!


#12楼

@Slauma的答案确实很棒,但是我发现,当ComplexType属性无效时,它无效。

例如,假设您具有复杂类型PhoneNumber的属性Phone 。 如果AreaCode属性无效,则ve.PropertyNames的属性名称为“ Phone.AreaCode”。 这将导致对eve.Entry.CurrentValues<object>(ve.PropertyName)的调用失败。

要解决此问题,您可以在每个属性处拆分属性名称. ,然后遍历所得的属性名称数组。 最后,当您到达链的底部时,您可以简单地返回该属性的值。

下面是@Slauma的FormattedDbEntityValidationException类,它支持ComplexTypes。

请享用!

[Serializable]
public class FormattedDbEntityValidationException : Exception
{public FormattedDbEntityValidationException(DbEntityValidationException innerException) :base(null, innerException){}public override string Message{get{var innerException = InnerException as DbEntityValidationException;if (innerException == null) return base.Message;var sb = new StringBuilder();sb.AppendLine();sb.AppendLine();foreach (var eve in innerException.EntityValidationErrors){sb.AppendLine(string.Format("- Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",eve.Entry.Entity.GetType().FullName, eve.Entry.State));foreach (var ve in eve.ValidationErrors){object value;if (ve.PropertyName.Contains(".")){var propertyChain = ve.PropertyName.Split('.');var complexProperty = eve.Entry.CurrentValues.GetValue<DbPropertyValues>(propertyChain.First());value = GetComplexPropertyValue(complexProperty, propertyChain.Skip(1).ToArray());}else{value = eve.Entry.CurrentValues.GetValue<object>(ve.PropertyName);}sb.AppendLine(string.Format("-- Property: \"{0}\", Value: \"{1}\", Error: \"{2}\"",ve.PropertyName,value,ve.ErrorMessage));}}sb.AppendLine();return sb.ToString();}}private static object GetComplexPropertyValue(DbPropertyValues propertyValues, string[] propertyChain){var propertyName = propertyChain.First();return propertyChain.Count() == 1 ? propertyValues[propertyName] : GetComplexPropertyValue((DbPropertyValues)propertyValues[propertyName], propertyChain.Skip(1).ToArray());}
}

#13楼

在调试中,您可以在QuickWatch表达式评估器输入字段中输入以下内容:

context.GetValidationErrors()

#14楼

这对我有用。

var modelState = ModelState.Values;
if (!ModelState.IsValid)
{return RedirectToAction("Index", "Home", model);
}

在if语句上设置一个断点。 然后,您可以在调试窗口中检查modelState。 在每个值上,您都可以查看是否存在错误,甚至错误消息。 而已。 当您不再需要它时,只需删除或注释该行。

我希望这将有所帮助。

如果需要,我可以在调试窗口中提供详细的屏幕截图。


#15楼

如其他文章所述,只需在DbEntityValidationException类中捕获异常即可。 在错误情况下,这将使您无所适从。

 try{....}catch(DbEntityValidationException ex){....}

#16楼

我之前遇到过这个错误

当我尝试在实体框架中更新模型中的特定字段时

Letter letter = new Letter {ID = letterId, ExportNumber = letterExportNumber,EntityState = EntityState.Modified};
LetterService.ChangeExportNumberfor(letter);
//----------public int ChangeExportNumber(Letter letter){int result = 0;using (var db = ((LettersGeneratorEntities) GetContext())){db.Letters.Attach(letter);db.Entry(letter).Property(x => x.ExportNumber).IsModified = true;result += db.SaveChanges();}return result;}

并根据以上答案

我发现了验证消息The SignerName field is required.

指向我模型中的字段

当我检查数据库模式时,我发现

所以当然, ValidationException有权提出

并根据此字段我希望它可以为空,(我不知道如何弄乱它)

所以我将该字段更改为允许Null,并且由此,我的代码不会再出现此错误

因此,如果您使数据库的数据完整性无效,则可能会发生此错误


#17楼

这是您可以在Visual Studio中检查EntityValidationErrors内容的方法(无需编写任何额外的代码),即在IDE中进行调试时。

问题?

没错,Visual Studio调试器的“ 查看详细信息”弹出EntityValidationErrorsEntityValidationErrors集合内显示实际错误。

解决方案!

只需在“ 快速监视”窗口中添加以下表达式,然后单击“ 重新评估”

((System.Data.Entity.Validation.DbEntityValidationException)$exception).EntityValidationErrors

就我而言,请查看我如何能够扩展到EntityValidationErrors集合内的ValidationErrors List

参考: mattrandle.me博客文章 , @ yoel的答案


#18楼

只是把我的两分钱丢进...

在我的dbConfiguration.cs中,我想将context.SaveChanges()方法包装到try / catch中,并生成一个输出文本文件,该文件可让我清楚地读取错误,并且此代码也为它们加了时间戳-如果您愿意,则很方便在不同的时间遇到​​多个错误!

        try{context.SaveChanges();}catch (DbEntityValidationException e){//Create empty list to capture Validation error(s)var outputLines = new List<string>();foreach (var eve in e.EntityValidationErrors){outputLines.Add($"{DateTime.Now}: Entity of type \"{eve.Entry.Entity.GetType().Name}\" in state \"{eve.Entry.State}\" has the following validation errors:");outputLines.AddRange(eve.ValidationErrors.Select(ve =>$"- Property: \"{ve.PropertyName}\", Error: \"{ve.ErrorMessage}\""));}//Write to external fileFile.AppendAllLines(@"c:\temp\dbErrors.txt", outputLines);throw;}

#19楼

我发现...当我收到“ EntityValidationErrors”错误时....我在数据库“ db1”中的表“ tbladdress”中有一个字段为“ address1”,其大小为100(即地址varchar(100) null),并且我传递的值超过100个字符。这导致在将数据保存到数据库时出错。

因此,您必须检查要传递给该字段的数据。


#20楼

请检查您要传递的字段值,该值有效并且与数据库字段一致。 例如,在特定字段中传递的字符数少于在数据库表字段中定义的字符数。


#21楼

检查表列中是否具有Not Null约束,并且在插入/更新操作时未传递该列的值。 这在实体框架中导致此异常。


#22楼

如果您将IISWindows身份验证实体框架一起使用,请小心使用authorize

我试图在未经授权的情况下进行POST ,但此操作不起作用,并在db.SaveChangesAsync();上得到此错误db.SaveChangesAsync(); ,而其他所有动词GETDELETE都起作用。

但是,当我添加AuthorizeAttribute作为注释时,它可以工作。

[Authorize]
public async Task<IHttpActionResult> Post(...){
....
}

#23楼

这是另一种实现方法,而不是使用foreach循环查看EntityValidationErrors内部。 当然,您可以根据自己的喜好格式化消息:

try {// your code goes here...}
catch (DbEntityValidationException ex) {Console.Write($"Validation errors: {string.Join(Environment.NewLine, ex.EntityValidationErrors.SelectMany(vr => vr.ValidationErrors.Select(err => $"{err.PropertyName} - {err.ErrorMessage}")))}", ex);throw;}

#24楼

我也面临同样的问题。 异常消失后,我从数据库更新了.edmx。


#25楼

发生此错误的主要原因是字段大小。 检查数据库表中的所有字段大小。


#26楼

在我的情况下,这是因为数据库字段的长度小于输入字段的长度。

数据库表

create table user(Username nvarchar(5) not  null
);

我的输入

User newUser = new User()
{Username = "123456"
};

Username length的值是5lessthan 6

...这可能会帮助某人


#27楼

如果项目中的数据层与应用程序层分离,并且您使用元数据,则将元数据节类放在数据层名称空间中,而不是元数据名称空间中。

命名空间DataLayer

命名空间DataLayer.yourmetadataclass


#28楼

老实说,我不知道如何检查验证错误的内容。 Visual Studio向我展示了这是一个包含8个对象的数组,因此出现8个验证错误。

实际上,如果在调试期间在Visual Studio中钻入该阵列,则应该看到错误。 但是您也可以捕获异常,然后将错误写出到某些日志存储区或控制台中:

try
{// Your code...// Could also be before try if you know the exception occurs in SaveChangescontext.SaveChanges();
}
catch (DbEntityValidationException e)
{foreach (var eve in e.EntityValidationErrors){Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",eve.Entry.Entity.GetType().Name, eve.Entry.State);foreach (var ve in eve.ValidationErrors){Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",ve.PropertyName, ve.ErrorMessage);}}throw;
}

EntityValidationErrors是一个表示无法成功ValidationErrors实体的集合,每个实体的内部集合ValidationErrors是属性级别的错误列表。

这些验证消息通常足以找到问题的根源。

编辑

一些小改进:

违规属性的可以包含在内循环中,如下所示:

        foreach (var ve in eve.ValidationErrors){Console.WriteLine("- Property: \"{0}\", Value: \"{1}\", Error: \"{2}\"",ve.PropertyName,eve.Entry.CurrentValues.GetValue<object>(ve.PropertyName),ve.ErrorMessage);}

在调试Debug.Write可能优于Console.WriteLine因为它可以在所有类型的应用程序中运行,而不仅适用于控制台应用程序(感谢@Bart在下面的评论中提供他的注释)。

对于正在生产中且使用Elmah进行异常日志记录的Web应用程序,事实证明,这对于我创建自定义异常并覆盖SaveChanges以抛出此新异常非常有用。

自定义异常类型如下所示:

public class FormattedDbEntityValidationException : Exception
{public FormattedDbEntityValidationException(DbEntityValidationException innerException) :base(null, innerException){}public override string Message{get{var innerException = InnerException as DbEntityValidationException;if (innerException != null){StringBuilder sb = new StringBuilder();sb.AppendLine();sb.AppendLine();foreach (var eve in innerException.EntityValidationErrors){sb.AppendLine(string.Format("- Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",eve.Entry.Entity.GetType().FullName, eve.Entry.State));foreach (var ve in eve.ValidationErrors){sb.AppendLine(string.Format("-- Property: \"{0}\", Value: \"{1}\", Error: \"{2}\"",ve.PropertyName,eve.Entry.CurrentValues.GetValue<object>(ve.PropertyName),ve.ErrorMessage));}}sb.AppendLine();return sb.ToString();}return base.Message;}}
}

并且SaveChanges可以通过以下方式覆盖:

public class MyContext : DbContext
{// ...public override int SaveChanges(){try{return base.SaveChanges();}catch (DbEntityValidationException e){var newException = new FormattedDbEntityValidationException(e);throw newException;}}
}

几点评论:

  • Elmah在Web界面或已发送的电子邮件(如果已配置)中显示的黄色错误屏幕现在直接在消息顶部显示验证详细信息。

  • 在自定义异常中覆盖Message属性而不是覆盖ToString()的好处是,标准ASP.NET“死亡黄屏(YSOD)”也显示此消息。 与Elmah相比,YSOD显然不使用ToString() ,但是都显示Message属性。

  • 将原始DbEntityValidationException包装为内部异常可确保原始堆栈跟踪仍然可用,并显示在Elmah和YSOD中。

  • 通过在行上设置一个断点, throw newException; 您可以简单地将newException.Message属性作为文本进行检查,而不必钻研验证集合,这有点尴尬,而且似乎不适用于所有人(请参见下面的评论)。


#29楼

请注意, Entity.GetType().BaseType.Name给出您指定的类型名称,而不是名称中包含所有十六进制数字的类型。

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

  1. EF提示一例对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性的解决

    EF提示一例对一个或多个实体的验证失败.有关详细信息,请参阅"EntityValidationErrors"属性的解决 在向数据库添加数据时出现该错误. 对出先错误的语句进行try ...

  2. C# - Entity Framework 对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性

    问题: 在给某一个表添加或修改数据后,调用SaveChanges() 报如下错误: 1.Entity Framework 对一个或多个实体的验证失败.有关详细信息,请参阅EntityValidatio ...

  3. [main] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件

    使用Tomcat9启动项目(数据库使用的是Oracle),报这个错误.看了很多其它的文章都没找到报错的问题所在. idea是可以正常启动并访问.但是打成war包部署到tomcat后,项目就启动不起来, ...

  4. 【IDEA】一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件

    [IDEA]一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件 日志中的错误信息并不是很明确,因此确认主要代码逻辑无问题后,还是寻求百度的帮助. 看到如上方法,进行尝试后,错误信 ...

  5. SQL SERVER服务启动不了:请求失败或服务未及时响应。有关详细信息请参见事件日志或其他的错误日志

    不知怎么回事,SQL SERVER服务启动不了,提示:请求失败或服务未及时响应.有关详细信息请参见事件日志或其他的错误日志.在网上找好久才找到答案:停用"VIA协议"问题解决. 停 ...

  6. 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件

    在启动tomcat时,出现了以下问题: 我们点击Tomcat Localhost Log,查看日志 查看出现出个问题的原因: org.springframework.beans.factory.Bea ...

  7. EF 常见错误, 无法加载指定的元数据资源、实体的验证失败等

               无法加载指定的元数据资源                 这种问题通常都是ef的配置文件和model不符合 如这里的配置文件是这样        而那个model名字确是这样的 ...

  8. linux系统获取用户信息失败怎么办,异常详细信息: System.Data.SqlClient.SqlException: 用户 'NT AUTHORITY\IUSR' 登录失败解决办法...

    最近在做.NET项目,因为本人以前做Java较多,所以对.NET不熟悉,在项目完成后部署到IIS服务器上出现诸多问题,以上其中之一,若有时间,在更新其他问题的解决办法! 异常详细信息: System. ...

  9. 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性

    一解决方法: 问题的主要原因出在:跨程序集反射. 即我们需反射的A.dll的程序集引用B.dll程序集,而在反射工具项目中却不存在对B.dll程序集的引用.因此我们只需在反射工具项目中添加对B.dll ...

最新文章

  1. 【业界】开源大势降低技术门槛,人工智能企业更依赖大数据
  2. sap abap在表VBAP和VBAK上增加新字段的标准BAPI
  3. 需求评审五个维度框架分析及其带来的启示-2-框架原理
  4. 计算机科学导论课后单词,计算机科学导论课后总结
  5. 配置MaxCompute任务消费监控告警,避免资源过度消费
  6. Uvaoj 11248 Frequency Hopping(Dinic求最小割)
  7. MySQL安装叫重启_MySQL重启命令和MySQL数据库安装目录的操作过程
  8. 小米盗图迪丽热巴?公关经理:占位示意 不存在故意盗图!
  9. 多路查找树之2-3树的删除原理 - 数据结构和算法81
  10. python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe
  11. 关闭selinux服务
  12. FTP链接ubuntu链接被拒绝
  13. Google字典API与语音库
  14. RFT和QTP与AutoIt
  15. MATLAB将xyz数据转换成STL文件
  16. jboot websocket的使用
  17. 【论文笔记】Heterogeneous Transfer Learning for HSIC Based on CNN
  18. 2015年到2017年 国家自然基金有关深度学习和计算机视觉的部分项目
  19. Python实现输出电话号码对应的字母组合
  20. 郑州大学网络空间安全学院复试123

热门文章

  1. ADC/DAC设计常见40问
  2. 第九周项目二-我的数组类
  3. python center函数_python pandas移动窗口函数rolling的用法
  4. Shell-流程控制案例
  5. 【Gradle】管理库工程release及debug
  6. (0024)iOS 开发之MJExtension可能遇到全部问题
  7. 用电脑发短信_重磅!一个软件实现电脑上接打手机电话、收发短信、传文件、屏幕镜像!...
  8. uniapp中vuex状态管理
  9. 卷积神经网络(CNN)_相关知识
  10. Spring中bean标签的属性和值: