NHibernate HasOne引用返回null

时间:2014-11-20 17:44:16

标签: c# nhibernate fluent-nhibernate one-to-one

我正在使用NHibernate并拥有一个Product实体,该实体可以包含0或1个ProductStats实体。

ProductMap

References(x => x.Manufacturer);

HasOne(x => x.Stats)
            .PropertyRef(x => x.Product)
            .Cascade.All();

ProductStatsMap

References(x => x.Product);

数据库

Product
 +ManufacturerId

ProductStats
 +ProductStatId
 +ProductId

我使用以下查询尝试加载产品及其相关ProductStats列表(如果存在)。

var products = Session.Query<Product>()            // Using NHibernate.Linq
                      .Select(x => new
                      {
                          x.Manufacturer,          // Returns object correctly
                          x.Stats,                 // Returns null
                          x.Stats.ProductStatId    // Returns ID correctly
                       })

Stats属性始终返回null,但是如果我尝试查询Stats的属性,它可以正常工作,这表明映射本身是正确的。它只是拒绝加载整个实体作为此查询的一部分。使用References映射的Manufacturer属性工作正常。

为什么没有加载Stats属性,我该如何解决?

0 个答案:

没有答案