我正在尝试从没有存储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;)。有没有办法让乌鸦鸭子类型的对象列表,而不是试图把它投射到我无法访问的类型?
答案 0 :(得分:0)
我一直在做一些非常相似的事情,偶然发现了这一点。从会话中加载对象作为JObject对我来说似乎没问题。 sesssion.Load(ID)。我正在尝试做一些更复杂但仍有问题的事情。正在进行的https://groups.google.com/forum/#!topic/ravendb/y3-SVB18xVg
线程