我的订单实体的保存功能看起来像这样,它在sumbmitChanges行中断:public void SaveOrder ( Order order ) {if (order.OrderId == 0)orderTable.InsertOnSubmit(order);else if (orderTable.GetOriginalEntityState(o...
我的订单实体的保存功能看起来像这样,它在sumbmitChanges行中断:
public void SaveOrder ( Order order ) {
if (order.OrderId == 0)
orderTable.InsertOnSubmit(order);
else if (orderTable.GetOriginalEntityState(order) == null) {
orderTable.Attach(order);
orderTable.Context.Refresh(RefreshMode.KeepCurrentValues , order);
}
orderTable.Context.SubmitChanges();
}
订单实体包含两个其他实体;地址实体和信用卡实体.现在我希望这两个实体有时为空.
现在我猜测为什么会抛出错误是因为这两个内部命令都是空的.如果是这种情况,如何将新订单插入数据库,同时两个实体(Address和creditCard)为空.
编辑:
所以我暂时删除了信用卡实体和地址实体,但我意识到导致问题的原因.该订单有一个图像集合(图像是一个实体),它抛出错误,因为(我假设),我不能插入一个新订单与订单有一堆已经存在的图像.所以我知道问题是什么,但我不知道如何解决它.任何帮助将非常感激.谢谢
解决方法:
您的图像实体是否来自不同的DataContext?只要它们来自您用来保存订单的相同DataContext,就不应该再尝试添加它们.
本文标题为:c# – 已尝试将不是新Linq的实体附加或添加到Sql错误
基础教程推荐
- C#执行EXE文件与输出消息的提取操作 2023-04-14
- C# AttributeUsage使用案例详解 2023-04-28
- c# – 为什么windows窗体应用程序中的窗体类被声明为partial? 2023-09-18
- C#使用Enum.TryParse()实现枚举安全转换 2023-06-28
- c# winform treelistview的使用(treegridview)实例详解 2022-11-27
- C#导出Excel的示例详解 2022-11-10
- 【翻译】- ASP.NET Core 中的内存管理和模式 2023-09-27
- Unity实现图片水印生成 2023-02-16
- C#字符串如何提取数值(带小数点) 2023-07-19
- C# 制作PictureBox圆形头像框并从数据库中读取头像 2023-04-27