Repro attached.<br /><br />If you call detect changes twice with a nullable primary key EF throws an exception:<br /><br />System.ArgumentException was unhandled<br /> HResult=-2147024809<br /> Message=The key-value pairs that define an EntityKey cannot be null or empty.<br />Parameter name: record<br /> Source=System.Data.Entity<br /> ParamName=record<br /> StackTrace:<br /> at System.Data.EntityKey.GetKeyValues(EntitySet entitySet, IExtendedDataRecord record, String[]& keyNames, Object& singletonKeyValue, Object[]& compositeKeyValues)<br /> at System.Data.EntityKey..ctor(EntitySet entitySet, IExtendedDataRecord record)<br /> at System.Data.Objects.ObjectStateManager.PerformDelete(IList`1 entries)<br /> at System.Data.Objects.ObjectStateManager.DetectChanges()<br /> at System.Data.Objects.ObjectContext.DetectChanges()<br /> at System.Data.Entity.Internal.InternalContext.DetectChanges(Boolean force)<br /> at System.Data.Entity.Infrastructure.DbChangeTracker.DetectChanges()<br /> at DetectChangesRepro.BlogContext.SaveChanges() in c:\Users\glennc\Documents\Visual Studio 2012\Projects\DetectChangesRepro\DetectChangesRepro\model.cs:line 58<br /> at DetectChangesRepro.Program.Main(String[] args) in c:\Users\glennc\Documents\Visual Studio 2012\Projects\DetectChangesRepro\DetectChangesRepro\Program.cs:line 36<br /> at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)<br /> at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)<br /> at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()<br /> at System.Threading.ThreadHelper.ThreadStart_Context(Object state)<br /> at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)<br /> at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)<br /> at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)<br /> at System.Threading.ThreadHelper.ThreadStart()<br /> InnerException: <br />
↧