EntitySpaces2009支持事件。
Transactions
You do not need to wrap saves on a single collection in a transaction. EntitySpaces does this for you, even if you have multiple inserts, updates, and deletes. Use transactions if you are saving two or more objects that need to rollback as a set in the event of a failure. EntitySpaces has two transaction models. esTransactionScope works with all supported databases. Set providerClass="DataProvider" in your app.config. TransactionScope uses the new .NET 2.0 TransactionScope class for databases that support it. Set providerClass="DataProviderEnterprise" in your app.config.
e.g.
OrdersCollection ordersCollection = new OrdersCollection();
Orders ordersEntity = new Orders();
OrderDetailsCollection orderDetailsCollection = new OrderDetailsCollection();
OrderDetails orderDetailsEntity = new OrderDetails();
ordersEntity = ordersCollection.AddNew();
ordersEntity.str.CustomerId = "3";
orderDetailsEntity = orderDetailsCollection.AddNew();
orderDetailsEntity.str.ProductId = "147";
orderDetailsEntity = orderDetailsCollection.AddNew();
orderDetailsEntity.OrderId = orderId;
orderDetailsEntity.str.ProductId = "255";
using(esTransactionScope scope = new esTransactionScope())
{
ordersCollection.Save();
//设置子对象的外键字段的值必须在父对象的主键值得到后才能设置,不然此值为null
orderDetailsEntity.OrderId = ordersEntity.Id.Value;
orderDetailsCollection.Save();
scope.Complete();
}
本文介绍如何使用 EntitySpaces 2009 进行事务处理,包括单个集合保存时自动处理事务及多个对象需要回滚的情况,并提供了一个具体的订单和订单详情的事务处理示例。
3537

被折叠的 条评论
为什么被折叠?



