我有2个数据库,分别为TempPosOrderPayment
和另一个Orders
,它们都具有与TempPosOrderPayment
相同的表,并具有相同的属性和列。问题是我想从PosOrderPayment
获取所有数据并将其保存到 public void InsertOrder(Order order)
{
try
{
using (PosOrderPaymentDBContext db = new PosOrderPaymentDBContext())
{
db.Orders.Add(order);
db.SaveChanges();
}
}
catch (Exception ex)
{
CustomExceptionHandling customExceptionHandling = new CustomExceptionHandling();
customExceptionHandling.CustomExHandling(ex.ToString());
}
}
中。我想在业务层(OrderBo)上执行代码。我想避免重新插入数据,这就是为什么我想从其他数据库中的其他表中检索并复制数据和行,因为这两个东西将从2个不同的应用程序中插入。
现在我看起来像这样
//这在我的付款申请中
public void InsertOrder(Order order)
{
try
{
using (tempPosOrderPaymentDBContext db = new tempPosOrderPaymentDBContext())
{
db.Orders.Add(order);
db.SaveChanges();
}
}
catch (Exception ex)
{
CustomExceptionHandling customExceptionHandling = new CustomExceptionHandling();
customExceptionHandling.CustomExHandling(ex.ToString());
}
}
//这是我的收银员申请
Pay
有办法吗?
情况就像
当用户在出纳应用程序中单击按钮Orders
时,它将所有数据保存在TempPosOrderPayment
数据库中的表Payment
中,然后转到付款应用程序。当用户在付款应用程序中单击按钮Orders
时,它将复制TempPosOrderPayment
内表Orders
中的所有数据并将其保存到PosOrderPayment
数据库内的表Orders
付款完成后,TempPosOrderPayment
数据库中的表BASE_URL
将为空。并且每次用户运行应用程序时,都会重复执行此插入复制删除操作
答案 0 :(得分:0)
如果我正确理解了您的问题,请先在“收银员”应用程序中捕获客户的订单,并将其保存在数据库1(TempPosOrderPayment
)中,然后确认付款,然后在“付款”应用程序中复制此订单到另一个数据库(PosOrderPayment
)。
假设您必须使用两个单独的数据库,那么上述情况看起来很合理,尽管容易出错-如果将记录复制到TempPosOrderPayment
后忘记从PosOrderPayment
删除记录怎么办?>
如果您只能在一个数据库中工作,则可以使用一些状态字段来指示订单的业务状态(已接收,已确认,已付款...),还可以使用事务来确保数据保持一致。 / p>