JSON.NET 6.0.0 + NHibernate 3.3.3 + Lazy Loaded Property =错误

时间:2014-03-05 13:47:51

标签: nhibernate json.net lazy-loading

所以我有一个对象,其中包含一个专门设置为延迟加载的属性,下面是NHibernate映射文件:

  public class FileObject_ORM : ClassMap<FileObject> {
    public FileObject_ORM() {
      Id(x => x.ID);
      Map(x => x.FileName);
      Map(x => x.FileData)
        .CustomType("BinaryBlob")
        .LazyLoad();
      Table("tbFiles");
    }
  }

现在我的问题是,当我使用JSON.NET来序列化这个对象时:

JsonConvert.SerializeObject(myObject);

我收到以下错误:

Error getting value from 'IsCurrentTimestampSelectStringCallable' on 'NHibernate.Dialect.SQLiteDialect

我认为这是因为JSON.NET试图序列化尚未加载的惰性属性。但是我尝试用[JsonIgnore],[NonSerialized]以及[IgnoreDataMember]标记属性(在我的FileObject类中,而不是流畅的映射FileObject_ORM),但每次都会得到相同的错误。

现在我听说这应该适用于集合(通常是延迟加载的),但是对于专门定义为延迟加载的属性它是否不同?

0 个答案:

没有答案