我正在使用带有 ODP.NET 11.2.0.3.0 的实体框架。我得到了一些表的持久性,但是这个完全拒绝添加一个简单的新对象,我不太明白。非常感谢您的帮助。谢谢
这是代码。我通过模型浏览器从对象中删除了图像字段,但调用 SaveChanges() 时代码仍然失败。
var corpDirectoryEntities = new CorpDirectoryEntities();
var cc = new EmployeePhoto();
cc.UserId = 12345; // NUMBER field
cc.ImageName = "imagename"; // VARCHAR2(100)
cc.Image = photoStream; // LONG RAW
corpDirectoryEntities.EmployeePhotos.AddObject(cc);
corpDirectoryEntities.SaveChanges();
发生以下异常。
System.Data.UpdateException 未被用户代码处理 Message=更新条目时发生错误。有关详细信息,请参阅内部异常。 源=系统.数据.实体 堆栈跟踪: 在 System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter 适配器) 在 System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache) 在 System.Data.Objects.ObjectContext.SaveChanges(SaveOptions 选项) 在 System.Data.Objects.ObjectContext.SaveChanges() 在 Repositories.Services.CorpDirectory.CorpDirectoryRepository.SaveDirectoryAccountPhoto(Int32 accountId, Byte[] photoStream) 在 C:\Dev\Projects\Repositories\Services\CorpDirectory\CorpDirectoryRepository.cs:line 356 在 C:\Dev\Projects\Repositories.Tests\CorpDirectory\CorpDirectoryUserTestFixture.cs:line 192 中的 Tests.CorpDirectory.CorpDirectoryUserTestFixture.TestGetUserPhoto() 内部异常:System.Data.EntityCommandCompilationException 消息=准备命令定义时发生错误。有关详细信息,请参阅内部异常。 源=系统.数据.实体 堆栈跟踪: 在 System.Data.Mapping.Update.Internal.UpdateTranslator.CreateCommand(DbModificationCommandTree 命令树) 在 System.Data.Mapping.Update.Internal.DynamicUpdateCommand.CreateCommand(UpdateTranslator 翻译器,Dictionary`2 identifierValues) 在 System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator 转换器,EntityConnection 连接,Dictionary`2 identifierValues,List`1 generatedValues) 在 System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter 适配器) 内部异常:System.InvalidOperationException 由于对象的当前状态,消息=操作无效。 源=Oracle.DataAccess 堆栈跟踪: 在 Oracle.DataAccess.Client.SqlGen.DmlSqlGenerator.ExpressionTranslator.Visit(DbScanExpression 表达式) 在 System.Data.Common.CommandTrees.DbScanExpression.Accept(DbExpressionVisitor 访问者) 在 Oracle.DataAccess.Client.SqlGen.DmlSqlGenerator.GenerateInsertSql(DbInsertCommandTree 树,EFOracleProviderManifest providerManifest,EFOracleVersion sqlVersion,List`1& 参数) 在 Oracle.DataAccess.Client.SqlGen.SqlGenerator.GenerateSql(DbCommandTree 树,EFOracleProviderManifest providerManifest,EFOracleVersion sqlVersion,List`1& 参数,CommandType& commandType) 在 Oracle.DataAccess.Client.EFOracleProviderServices.CreateCommand(EFOracleProviderManifest providerManifest,DbCommandTree commandTree) 在 Oracle.DataAccess.Client.EFOracleProviderServices.CreateDbCommandDefinition(DbProviderManifest providerManifest,DbCommandTree commandTree) 在 System.Data.Common.DbProviderServices.CreateCommandDefinition(DbCommandTree 命令树) 在 System.Data.Common.DbProviderServices.CreateCommand(DbCommandTree commandTree) 在 System.Data.Mapping.Update.Internal.UpdateTranslator.CreateCommand(DbModificationCommandTree 命令树) 内部异常: