nhibernateで作られたオブジェクトをjson.netのJsonConvert.SerializeObjectでシリアライズすると
nhibernateのクラスの方に以下のように循環参照対策らしきコードを埋め込んでも巨大なjsonになってしまいます。

[JsonObject(IsReference=true,ItemIsReference=true)]
class Entity {
}

class User : Entity {
public virtual IList<Item> Items { get; set; }
}

class Item : Entity {
}

そこでリレーションになっている部分を追わないようにしようとしたのですが、今度は全部消えてしまいました。
手動で追っかけれるようにせめてId列だけでも出してくれと思うのですが、なにか解決方法ありますか?

[JsonIgnore]
public virtual IList<Item> Items { get; set; }