如果我使用nhibernate映射表1:1而没有关联,我还需要动态代理等吗?

如果我使用nhibernate映射表1:1而没有关联,我还需要动态代理等吗?,nhibernate,Nhibernate,如果我只想让事情变得非常简单,只需将我的表映射到POCO 1:1,实体上没有集合 e、 g.而不是做: class Order class OrderItems 如果您有: Order o = new Order(); o.Items <-- collection of OrderItems that will query the db using lazy loading 使用这种方法,我是否仍然需要使用castle.dynamic proxy dll,并且必须解决介质信任问题?不,

如果我只想让事情变得非常简单,只需将我的表映射到POCO 1:1,实体上没有集合

e、 g.而不是做:

class Order
class OrderItems
如果您有:

Order o = new Order();
o.Items <-- collection of OrderItems that will query the db using lazy loading

使用这种方法,我是否仍然需要使用castle.dynamic proxy dll,并且必须解决介质信任问题?

不,您不需要castle dynamic proxy,但需要某种代理才能使用NHibernate。Nhibernate内置了对castle和linfu的支持,但为任何类型的动态代理(如spring或unity)创建自己的代理工厂并不困难

如果不使用延迟加载,则不需要代理。即使从nhforge下载,程序集也会被分为必选程序集和延迟加载所需程序集。

通过这种方式映射,您将丢失NHibernate的许多功能。
Order o = myDAO.FindById(1);
OrderItems i = myDAO2.FindByOrderId(o.Id);