Sql server 如何同时向sql添加两个产品
我有两张桌子: 表Sql server 如何同时向sql添加两个产品,sql-server,asp.net-mvc,Sql Server,Asp.net Mvc,我有两张桌子: 表订单:i订单、产品ID、数量、价格 表orderdetails:ID、ShipName、ShipMobile、ShipAddress、ShipEmail、DateOrder 我的订单详细信息DAO(作为型号): 我的订单: raovatmuabanthucungenties re=null; 公共秩序 { re=新的Raovatmuabanthucungenties(); } 公共布尔插入(订单) { 尝试 { 关于订单。添加(订单); re.SaveChanges()
订单:
i订单、产品ID、数量、价格
表orderdetails:
ID、ShipName、ShipMobile、ShipAddress、ShipEmail、DateOrder
- 我的订单详细信息DAO(作为型号):
- 我的订单:
raovatmuabanthucungenties re=null;
公共秩序
{
re=新的Raovatmuabanthucungenties();
}
公共布尔插入(订单)
{
尝试
{
关于订单。添加(订单);
re.SaveChanges();
返回true;
}
抓住
{
返回false;
}
}
实际上在下面提到的行中:
order.IDOrder = id;
您正试图将重复项插入到主键字段中(如您在消息中所传达的),因此第一次插入值成功,第二次插入值失败,因为不允许重复主键
另外,re.SaveChanges();正在向数据库写入操作添加一个over head。最好创建一个IEnumerable或“order”列表,并将其传递给Insert(),以便一次保存所有内容
更改此项:
try
{
var id = new OrderDetailsDao().Insert(detail);
var cart = (List<CartItem>)Session[CartSession];
var orderDao = new OrderDao();
decimal total = 0;
foreach (var item in cart)
{
var order = new order();
order.ProductId= item.Product.ProductId;
order.IDOrder = id;
order.Price = item.Product.Price;
order.quantity = item.quantity;
orderDao.Insert(order);
}
}
public bool Insert(order order)
{
try
{
re.order.Add(order);
re.SaveChanges();
return true;
}
catch
{
return false;
}
}
致:
public bool Insert(列表顺序)
{
foreach(订单中的var订单)
{
关于订单。添加(订单);
}
尝试
{
re.SaveChanges();
返回true;
}
抓住
{
返回false;
}
}
请在您的问题中加入a,重点是最小值。另外,请用英语写你的代码。你可能知道什么是马桑法姆或苏隆,但对很多说英语的人来说,这只是“随机的”。@DavidStockinger你真的需要知道这些属性是什么吗?它们只是该对象的属性,不太可能与当前的问题有任何关系。@SeanLange用一种一致的语言写作在几乎任何社区都被认为是良好的形式,因为大多数语言关键字也是英语。我并不想贬低Wiliam——在创建MCVE时,这只是一个友好的建议。@SeanLange我要求他们更改MCVE的代码,其目标应该是尽可能地最小化。像“object.Property1
”这样简单的东西会显示有一个属性,但不是示例所需的每个属性。我的意思是,一个叫做raovatmuabanthucungenties()
的函数(?)对任何一个说英语的人来说都是不言而喻的。我觉得这场讨论似乎正在慢慢偏离主题。这是Wiliam的选择,他们如何命名他们的财产或如何编写他们的MCVE。我的意思是,纯英语的MCVE可能会吸引更多/更好的答案。我添加了EntityFramework名称:Raovatmuabanthucungenties。。。很抱歉。你能告诉我更多细节吗,我只剩下3个小时了(截止日期):(我会帮你的兄弟…请给我5分钟。来处理你的代码。Thnk you much hi running=)试着调试你的代码,告诉我代码在哪里卡住了。我敢肯定,您在数据库中插入了“错误”的内容。
try
{
var id = new OrderDetailsDao().Insert(detail);
var cart = (List<CartItem>)Session[CartSession];
var orderDao = new OrderDao();
decimal total = 0;
List<order> orders = new List<order>();
foreach (var item in cart)
{
var order = new order();
order.ProductId= item.Product.ProductId;
order.IDOrder = id;
order.Price = item.Product.Price;
order.quantity = item.quantity;
orders.Add(order);
}
orderDao.Insert(orders);
}
public bool Insert(order order)
{
try
{
re.order.Add(order);
re.SaveChanges();
return true;
}
catch
{
return false;
}
}
public bool Insert(List<order> orders)
{
foreach(var order in orders)
{
re.order.Add(order);
}
try
{
re.SaveChanges();
return true;
}
catch
{
return false;
}
}