I have updated nopcommerce from versión 2.65 to 2.7, but when I run new versión I get an error in this line:
this._context.SaveChanges();
from in this code:
public void Insert(T entity)
{
try
{
if (entity == null)
throw new ArgumentNullException("entity");
this.Entities.Add(entity);
this._context.SaveChanges();
}
catch (DbEntityValidationException dbEx)
{
var msg = string.Empty;
foreach (var validationErrors in dbEx.EntityValidationErrors)
foreach (var validationError in validationErrors.ValidationErrors)
msg += string.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage) + Environment.NewLine;
var fail = new Exception(msg, dbEx);
//Debug.WriteLine(fail.Message, fail);
throw fail;
}
}
The type of variable entity is Customer
The error details:
El código de usuario no controló System.Data.Entity.Infrastructure.DbUpdateException
HResult=-2146233087
Message=Se produjo un error mientras se actualizaban las entradas. Vea la excepción interna para obtener detalles.
Source=EntityFramework
StackTrace:
en System.Data.Entity.Internal.InternalContext.SaveChanges()
en System.Data.Entity.Internal.LazyInternalContext.SaveChanges()
en System.Data.Entity.DbContext.SaveChanges()
en Nop.Data.EfRepository`1.Insert(T entity) en c:\Users\josep.m.busquets\Documents\Visual Studio 2012\Projects\NopCommerce\Libraries\Nop.Data\EfRepository.cs:línea 41
en Nop.Services.Customers.CustomerService.InsertGuestCustomer() en c:\Users\josep.m.busquets\Documents\Visual Studio 2012\Projects\NopCommerce\Libraries\Nop.Services\Customers\CustomerService.cs:línea 495
en Nop.Web.Framework.WebWorkContext.GetCurrentCustomer() en c:\Users\josep.m.busquets\Documents\Visual Studio 2012\Projects\NopCommerce\Presentation\Nop.Web.Framework\WebWorkContext.cs:línea 118
en Nop.Web.Framework.WebWorkContext.get_CurrentCustomer() en c:\Users\josep.m.busquets\Documents\Visual Studio 2012\Projects\NopCommerce\Presentation\Nop.Web.Framework\WebWorkContext.cs:línea 187
en Nop.Web.MvcApplication.SetWorkingCulture() en c:\Users\josep.m.busquets\Documents\Visual Studio 2012\Projects\NopCommerce\NopCommerce 2.7\Presentation\Nop.Web\Global.asax.cs:línea 195
en Nop.Web.MvcApplication.Application_AuthenticateRequest(Object sender, EventArgs e) en c:\Users\josep.m.busquets\Documents\Visual Studio 2012\Projects\NopCommerce\NopCommerce 2.7\Presentation\Nop.Web\Global.asax.cs:línea 141
en System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
en System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
InnerException: System.Data.UpdateException
HResult=-2146233087
Message=Se produjo un error mientras se actualizaban las entradas. Vea la excepción interna para obtener detalles.
Source=System.Data.Entity
StackTrace:
en System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
en System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)
en System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options)
en System.Data.Entity.Internal.InternalContext.SaveChanges()
InnerException: System.Data.SqlClient.SqlException
HResult=-2146232060
Message=No se puede insertar el valor NULL en la columna 'Id', tabla 'newGintonic27.dbo.Customer'. La columna no admite valores NULL. Error de INSERT.
Se terminó la instrucción.
Source=.Net SqlClient Data Provider
ErrorCode=-2146232060
Class=16
LineNumber=1
Number=515
Procedure=""
Server=webserver
State=2
StackTrace:
en System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
en System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
en System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
en System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
en System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
en System.Data.SqlClient.SqlDataReader.get_MetaData()
en System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
en System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite)
en System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
en System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
en System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
en System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
en System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
en System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator, EntityConnection connection, Dictionary`2 identifierValues, List`1 generatedValues)
en System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
InnerException:
Any idea?
Thanks