加载没有CLR类型的RavenDB文档

时间:2014-02-10 13:06:07

标签: ravendb

我正在尝试从没有存储CLR类型的域中通过其id加载文档。

原始结构如下所示:

public class Document
{
    public int DocumentId {get;set;}
    public string SomeValue {get;set;}
    public List<Data> Data {get;set;}
}

public abstract class Data { }
public class Data1 : Data 
{
    public string SomeOtherValue {get;set;}
}

现在在我的第二个无法访问此结构的项目中,我尝试使用raven的duck-typing功能加载它,看起来相同的类。

public class Document
{
    public int DocumentId {get;set;}
    public string SomeValue {get;set;}
    //public List<Data> Data {get;set;}
}

public abstract class Data { }
public class Data1 : Data 
{
    public string SomeOtherValue {get;set;}
}

如果我没有在这个类中包含Data参数(如上所述)它加载正常,但是如果我确实包含它,则会失败并显示错误,表示它不知道存储的原始类型(&#34) ;无法加载程序集&#39; OriginalAssemblyName&#39;&#34;)。有没有办法让乌鸦鸭子类型的对象列表,而不是试图把它投射到我无法访问的类型?

1 个答案:

答案 0 :(得分:0)

我一直在做一些非常相似的事情,偶然发现了这一点。从会话中加载对象作为JObject对我来说似乎没问题。 sesssion.Load(ID)。我正在尝试做一些更复杂但仍有问题的事情。正在进行的https://groups.google.com/forum/#!topic/ravendb/y3-SVB18xVg

线程