我试图将产品添加到购物车,但它返回如下:更新条目中出现重复的值不能插入唯一索引(但...)
错误。详情请参阅内部例外。
内部异常:System.Data.SqlServerCe.SqlCeException(0X80004005): 重复的值不能被插入到一个唯一索引。 [表名 =车,约束名称= PK_ 车 _0000000000000997]处 System.Data.SqlServerCe.SqlCeCommand.ExecuteCommandText(IntPtr的System.Data.SqlServerCe.SqlCeCommand.ProcessResults(的Int32小时)& pCursor,布尔& isBaseTableCursor )在 System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(的CommandBehavior 行为,字符串方法,ResultSetOptions选项)在 System.Data.SqlServerCe.SqlCeCommand.ExecuteNonQuery()在 System.Data.SqlServerCe.SqlCeMultiCommand.ExecuteNonQuery()在 System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator,EntityConnect离子连接,字典
2 identifierValues, List
1个generatedValues)在 System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter适配器)在 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() JTS.Security.Identity.Push.ToCart(Int32 userId,String pa rtNumber, c:\ Users \ Jase \ Documents \ Visual Studio 2012 \ WebSites \ One \ App_Code \ JTS.cs中的字符串productDescription,Int32数量,Decimal price,Decimal lineTotal,String orderId,DateTime dateTime,Boolean isBoxed) :251行
但事情是,我没有任何唯一索引。我甚至尝试删除所有的主键(只是为了看看是否会改变任何东西) - 它没有。
代码:
public bool ToCart(int userId,
string partNumber,
string productDescription,
int quantity,
decimal price,
decimal lineTotal,
string orderId,
DateTime dateTime,
bool isBoxed)
{
bool addedToCart = false;
try
{
Cart cart = new Cart()
{
UserId = userId,
PartNumber = partNumber,
Description = productDescription,
Quantity = quantity,
Price = price,
LineTotal = lineTotal,
OrderId = orderId,
OrderDate = dateTime,
IsBoxed = isBoxed
};
database.AddToCarts(cart);
database.SaveChanges();
addedToCart = true;
}
catch (Exception exception)
{
addedToCart = false;
//Response(exception.Message);
addToCartExceptionDetails = exception.Message +
Environment.NewLine + Environment.NewLine + "Inner exception" +
exception.InnerException +
Environment.NewLine + Environment.NewLine + "Stack trace" +
exception.StackTrace;
}
return addedToCart;
}
另外,如果我创建一个新的订单(这将创建一个新的OrderID),将一个项目添加到购物车。但是,它不会在现有OrderId下添加超过1个物品到购物车!
我在做什么错?为什么这不起作用?
表定义Column Name Data Type Length Allow Nulls Unique Primary Key
UserId int 4 Yes No No
OrderId nvarchar 1000 No No Yes
请添加您的表格结构 – 2012-08-09 15:02:21
我刚刚做了,虽然新用户无法添加图片,所以我在单独的选项卡中输入了所有内容。 – 2012-08-09 15:03:12
为什么这么多倒票? – 2012-08-09 15:07:30