小编DBH*_*BHC的帖子

Newtonsoft.Json.dll 中发生 NHibernate.LazyInitializationException

我无法序列化然后立即反序列化大对象而不会出现问题。我遵循以下建议: JSON.NET 和 nHibernate 集合延迟加载JSON.Net NHibernate 代理序列化 (NH 3.3.2.4000),以使 Json.Net 与我的遗留系统一起工作。尽管尝试了这些建议并进行了各种组合,但我没有成功。以下是我理解的对我来说最有意义的设置。

转换器:

protected override List<MemberInfo> GetSerializableMembers(Type objectType)
{
    if (typeof(INHibernateProxy).IsAssignableFrom(objectType))
    {
        return base.GetSerializableMembers(objectType.BaseType);
    }
    else
    {
        return base.GetSerializableMembers(objectType);
    }
}
Run Code Online (Sandbox Code Playgroud)

主要代码:

    var jsonSerializerSettings = new JsonSerializerSettings
    {
        ContractResolver = new NHibernateContractResolver(),
        PreserveReferencesHandling = PreserveReferencesHandling.All,
        TypeNameHandling = TypeNameHandling.Auto,
        ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
        ObjectCreationHandling = ObjectCreationHandling.Replace
    };

    string serialisedEnquiry = JsonConvert.SerializeObject(enquiry, Formatting.Indented, jsonSerializerSettings);

    Enquiry enq = JsonConvert.DeserializeObject<Enquiry>(serialisedEnquiry, jsonSerializerSettings);
Run Code Online (Sandbox Code Playgroud)

我还有另一个开放的问题,可能值得注意:JSON.net null property 尽管正如您将在最后一条评论中看到的那样,我相信我已经解决了它。我只是在等待解决这个问题,以确认另一个问题已修复,而不是简单地被这个新错误埋葬/替换。

流畅的 NHibernate 1.4.0.0

NHibernate 3.3.1.4000

Netwonsoft.Json 6.0.0.0 …

c# fluent-nhibernate json.net

1
推荐指数
1
解决办法
1587
查看次数

通用方法将新T添加到T列表中

我试图将一个通用列表传递给一个函数,该函数将一个新项添加到列表中.我有以下剥离示例:

   private void SetBayNumb<T>(ObservedList<T> bayList) where T : IBaySpec, new()
   {
     var bay = new T();
     bayList.Add(bay);
   }
Run Code Online (Sandbox Code Playgroud)

调用它的方法有这个错误:

T' must have a public parameterless constructor in order to use it as parameter泛型类型或方法中的类型T'

我想做的是什么?我觉得它必须是因为编译器不应该关心它是什么类型的列表 - 它只需要调用public,无参数构造函数并将新实例添加到传入的现有列表中.

我猜测问题是接口不保证它的实现者将有一个公共构造函数,但即使我给它一个具体的类我得到这个错误:

类型T' must be convertible toBayClass',以便在泛型类型或方法中将其用作参数"T"

非常感谢任何指针.

c# generics generic-constraints

-3
推荐指数
1
解决办法
149
查看次数