2013-08-02 38 views

回答

4

考慮下面的例子

table Orders 
id | customer_id | quantity 
--------------------------- 
1 | 1   | 5 
2 | 1   | 20 


var orders = statelessSession.Query<Oders>().ToList(); 
orders[0].Customer.HasDiscount = true; 
Assert.False(orders[0].Customer == orders[1].Customer); 
Assert.False(orders[1].Customer.HasDiscount); 

// while 

var orders = session.Query<Oders>().ToList(); 
orders[0].Customer.HasDiscount = true; 
Assert.True(orders[1].Customer.HasDiscount); 

所以使用無狀態會話的客戶是不一樣的,因此例如更新沒有見過,他們應該和的ReferenceEquals將返回false。您有兩個相同客戶的別名