我在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>
答案 0 :(得分:3)
在映射中尝试此操作。这将默认加载Objects而不是Lazy Loading。
References(x => x.Material).Column("IdMaterialu").Not.LazyLoad();
References(x => x.Producent).Column("IdProducenta").Not.LazyLoad();