我想知道在这种情况下我应该使用哪一个。我有一个下拉列表,将值发送回服务器。服务器当前使用load并生成对象。然后它会抓取一个值并尝试将其转换为枚举。
在做了一些阅读之后,似乎我应该只使用Get,因为我需要从PK以外的对象中访问某些内容。
答案 0 :(得分:1)
一般情况下,如果您需要访问Id本身以外的属性,请使用Get
;这使得代码的意图更加清晰,从长远来看可能更有效。 Load
非常棒,如果您需要在创建或更新实体时设置FK关系,而不会对数据库进行不必要的往返。
如需进一步阅读,请查看更详细描述的Ayende's article。
答案 1 :(得分:0)
Get
和Load
会有所不同。
如果使用方法Load
,NHibernate不会从数据库中检索实体,而是创建代理对象,唯一填充的属性是ID。
如果您访问其他属性,NHibernate将从数据库加载实体。
因此,在您的情况下,最好的用途应该是Get。