使用Fluent NHibernate将对象列表绑定到datagridview - ToString覆盖

时间:2013-06-16 00:31:45

标签: c# nhibernate data-binding datagridview fluent-nhibernate

我在datagridview中显示像datasource这样的对象列表时遇到问题。我的课程很少。其中两个是另一个对象。

我试图在我的类中覆盖ToString(),但是我得到一个例外,女巫告诉我,我的对象的单元格有int32类型(我认为,是我的对象的ID)

Withount tostring override,我在datagridview中看到“Castle.Proxies.ClassNameProxy”。

也许我必须更改某些列的类型,但在数据绑定之前,没有列,在数据绑定之后为时已晚(我认为)。

我的地图有点:

        Table("Dostawa");
        SchemaAction.All();
        Id(x => x.Id).GeneratedBy.Identity();
        Map(x => x.Nazwa).Not.Nullable();
        Map(x => x.Numer).Not.Nullable();
        References(x => x.Material).Column("IdMaterialu");      // first referenced object
        References(x => x.Producent).Column("IdProducenta");   // second referenced object

编辑:通过我看到的调试,我的列表是数据源包含这两个对象,如属性,但在这个对象中,只有Id是已知的,否则属性是“抛出类型'NHibernate.LazyInitializationException'”的< / p>

1 个答案:

答案 0 :(得分:3)

在映射中尝试此操作。这将默认加载Objects而不是Lazy Loading。

 References(x => x.Material).Column("IdMaterialu").Not.LazyLoad();
 References(x => x.Producent).Column("IdProducenta").Not.LazyLoad();