我在使用 NHibernate 和在包中使用代理项目时遇到了一些奇怪的问题。我的映射看起来类似于:
<?xml version="1.0" encoding="utf-8" ?>
<bag name="Markets" table="ITPUserWatchlistMarkets" cascade="none" lazy="false">
<key column="UserWatchlistId" />
<many-to-many class="Swan.Domain.Markets.Market, Swan.Domain.Markets" column="MarketId" lazy="proxy" />
</bag>
据我了解,通过将多对多映射设置为lazy="proxy",NHibernate 应该创建一个与我的市场类型不同的代理对象,其中只有身份密钥,没有其他设置。
但是,在运行调试时,我实际上可以看到真实的 Market 实体被实例化并添加到 Markets 包中,这不应该发生。
我的映射不正确,还是 NHibernate 创建实际实体而不是其自己的反射类型作为代理对象?
问候, 阿尔瓦罗