0

我正在尝试通过在其网站上找到的教程学习 Fluent-NHibernate:https ://github.com/jagregory/fluent-nhibernate/wiki/Getting-started

在此代码中,您可以看到对 Store 对象的引用:

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 名员工(或更多),并且每个人都会引用存储实例。如果我们只有一个商店并且对它有很多引用,会发生什么。每个元素是否只存储对存储对象内存的引用,还是全部存储单个对象导致占用大量内存?

4

2 回答 2

2

这取决于您如何使用 ISession。在单个 ISession 中,您只会获得一个Store. 不同的 ISession 会有不同的Store.

于 2012-09-10T12:11:23.703 回答
0

是的。每个 Employee 实例只有一个引用实例。

于 2012-09-10T11:59:57.167 回答