我努力學習流利,NHibernate的使用教程,我在它的網站上發現:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started將在NHibernate的結果引用更多的內存消耗
在這段代碼中,你可以看到參考存儲對象:
public class Employee
{
public virtual int Id { get; private set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual Store Store { get; set; }//<-- here
}
public class Store
{
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
public virtual IList<Product> Products { get; set; }
public virtual IList<Employee> Staff { get; set; }
}
假設我將擁有10000個員工(或更多),每個員工都會參考商店實例。如果我們只有一家商店並提及很多參考資料,會發生什麼情況。每個元素是否只存儲對象的內存引用,還是將所有元素都存儲到單個對象中,導致大量內存被帶走?
因此,只使用一個ISession使用整個對象,或者只是它id(整數)在內存使用方面基本相同? – Gwynnbleid1
有了一個ISession,你將只有一個具有特定ID的'Store'對象。所以10000'Employee'將在ISession中引用相同的'Store'對象。 – Alexander