一个或多个实体的验证失败。 有关更多详细信息,请参见“ EntityValidationErrors”属性
使用代码优先方法为数据库播种时出现此错误。
一个或多个实体的验证失败。 有关更多详细信息,请参见'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调试器的“ 查看详细信息”弹出EntityValidationErrors
在EntityValidationErrors
集合内显示实际错误。
解决方案!
只需在“ 快速监视”窗口中添加以下表达式,然后单击“ 重新评估” 。
((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楼
如果您将IIS与Windows身份验证和实体框架一起使用,请小心使用authorize
。
我试图在未经授权的情况下进行POST
,但此操作不起作用,并在db.SaveChangesAsync();
上得到此错误db.SaveChangesAsync();
,而其他所有动词GET
和DELETE
都起作用。
但是,当我添加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
的值是5 , lessthan
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”属性相关推荐
- EF提示一例对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性的解决
EF提示一例对一个或多个实体的验证失败.有关详细信息,请参阅"EntityValidationErrors"属性的解决 在向数据库添加数据时出现该错误. 对出先错误的语句进行try ...
- C# - Entity Framework 对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性
问题: 在给某一个表添加或修改数据后,调用SaveChanges() 报如下错误: 1.Entity Framework 对一个或多个实体的验证失败.有关详细信息,请参阅EntityValidatio ...
- [main] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
使用Tomcat9启动项目(数据库使用的是Oracle),报这个错误.看了很多其它的文章都没找到报错的问题所在. idea是可以正常启动并访问.但是打成war包部署到tomcat后,项目就启动不起来, ...
- 【IDEA】一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
[IDEA]一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件 日志中的错误信息并不是很明确,因此确认主要代码逻辑无问题后,还是寻求百度的帮助. 看到如上方法,进行尝试后,错误信 ...
- SQL SERVER服务启动不了:请求失败或服务未及时响应。有关详细信息请参见事件日志或其他的错误日志
不知怎么回事,SQL SERVER服务启动不了,提示:请求失败或服务未及时响应.有关详细信息请参见事件日志或其他的错误日志.在网上找好久才找到答案:停用"VIA协议"问题解决. 停 ...
- 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
在启动tomcat时,出现了以下问题: 我们点击Tomcat Localhost Log,查看日志 查看出现出个问题的原因: org.springframework.beans.factory.Bea ...
- EF 常见错误, 无法加载指定的元数据资源、实体的验证失败等
无法加载指定的元数据资源 这种问题通常都是ef的配置文件和model不符合 如这里的配置文件是这样 而那个model名字确是这样的 ...
- linux系统获取用户信息失败怎么办,异常详细信息: System.Data.SqlClient.SqlException: 用户 'NT AUTHORITY\IUSR' 登录失败解决办法...
最近在做.NET项目,因为本人以前做Java较多,所以对.NET不熟悉,在项目完成后部署到IIS服务器上出现诸多问题,以上其中之一,若有时间,在更新其他问题的解决办法! 异常详细信息: System. ...
- 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性
一解决方法: 问题的主要原因出在:跨程序集反射. 即我们需反射的A.dll的程序集引用B.dll程序集,而在反射工具项目中却不存在对B.dll程序集的引用.因此我们只需在反射工具项目中添加对B.dll ...
最新文章
- 【业界】开源大势降低技术门槛,人工智能企业更依赖大数据
- sap abap在表VBAP和VBAK上增加新字段的标准BAPI
- 需求评审五个维度框架分析及其带来的启示-2-框架原理
- 计算机科学导论课后单词,计算机科学导论课后总结
- 配置MaxCompute任务消费监控告警,避免资源过度消费
- Uvaoj 11248 Frequency Hopping(Dinic求最小割)
- MySQL安装叫重启_MySQL重启命令和MySQL数据库安装目录的操作过程
- 小米盗图迪丽热巴?公关经理:占位示意 不存在故意盗图!
- 多路查找树之2-3树的删除原理 - 数据结构和算法81
- python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe
- 关闭selinux服务
- FTP链接ubuntu链接被拒绝
- Google字典API与语音库
- RFT和QTP与AutoIt
- MATLAB将xyz数据转换成STL文件
- jboot websocket的使用
- 【论文笔记】Heterogeneous Transfer Learning for HSIC Based on CNN
- 2015年到2017年 国家自然基金有关深度学习和计算机视觉的部分项目
- Python实现输出电话号码对应的字母组合
- 郑州大学网络空间安全学院复试123