在工作中,我们正在寻找移动到一个ORM(仍然使用ADO访问数据库!)我开始构建实体框架,一切都顺利进行,直到我将它分离出来。 DLL(所以我们可以使网站/ crm/production/barcoding系统全部使用相同的数据库逻辑)。在dll中使用实体框架聚合异常
问题带有处理DbEntityValidationExceptions,我最初的测试代码(合作)
public override int SaveChanges(System.Data.Objects.SaveOptions options)
{
try{return base.SaveChanges(options);}
catch (DbEntityValidationException dbEx)
{
foreach (var validationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
Trace.TraceInformation("Class: {0}, Property: {1}, Error: {2}",
validationErrors.Entry.Entity.GetType().FullName,
validationError.PropertyName,
validationError.ErrorMessage);
}
}
//handle here
throw;
}
}
但这并没有得到现在抓住和我留下处理的通用threadException。有没有什么办法可以访问原始数据(抛出threadException?)或者我应该采取不同的方法。我想我只需要一个正确的方向,我可以找出一些东西。
问候,皮特
UPDATE:
调用GetValidationErrors一个问题嗯位。我注意到我的数据库Context有ObjectContext的baseClass而不是DbContext(所以我不能调用ValidateEntity)。我使用的实体框架5与默认代码生成启用 - 使用数据库第一种方法,如果有帮助。
是什么线程异常包含? – 2013-02-12 13:46:13