public void TestSet_Batch() { //清空 _orderRepository.Clear(); //常量定义 Guid? orderId = Sys.Guid; Guid? itemId = new Guid( "59BBE3D4-53C2-468F-AA11-3F9ED2C3A33A" ); Guid? itemId2 = new Guid( "CACC3EF1-1C8A-4948-BF78-646D826B1BCA" ); Guid? itemId3 = new Guid( "31EFBD08-3E57-4E82-BF3A-FE979B915972" ); //初始化订单并添加 var order = CreateOrder( orderId, itemId, itemId2 ); _orderRepository.Add( order ); //构造新订单,item1被删除,item2被修改,item3被新增 _order = CreateOrder( orderId, itemId2, itemId3 ); _order.Name = "order2"; //更新订单 _orderRepository = Ioc.Create<IOrderRepository>(); var context = _orderRepository.GetUnitOfWork(); context.Start(); _orderRepository.Update( _order ); context.Commit(); //查找 _orderRepository = Ioc.Create<IOrderRepository>(); _order = _orderRepository.Find( orderId.SafeValue() ); //验证 Assert.AreEqual( "order2", _order.Name ); Assert.AreEqual( 2, _order.Items.Count ); Assert.AreEqual( "a", _order.Items.First( t => t.Id == itemId2 ).Name ); Assert.AreEqual( "b", _order.Items.First( t => t.Id == itemId3 ).Name ); }