【发布时间】:2013-05-20 09:47:50
【问题描述】:
我有以下情况:
带有 db 实体的AssemblyX 引用外部 assemblyY 并将其类用作基类。 AssemblyX 添加了一些导航必要时的属性。
当然我可以复制所有这些实体并使用 automapper 来解决我的问题,但我有理由继承现有实体。
所以,我在 assemblyY 中有 Foo {} 类,并在 assemblyX 中创建 Bar: Foo {}。配置流利的自动映射以忽略Foo (.IgnoreBase<Foo>())。一切正常。但是 assemblyY 有另一个实体 Rab(由流式自动映射覆盖),它具有引用 Foo 的导航属性。这会导致异常:“来自表 Rab 的关联引用了未映射的类:Foo”。
public class Foo // .IgnoreBase<Foo>() - I require only derived Bar in DB
{
public virtual Guid Id {get; set;}
}
public class Bar: Foo
{
public virtual Guid Id {get; set;}
// Some new properties
}
public class Rab
{
public virtual Guid Id {get; set;}
public virtual Foo Foo // reference to unmapped class, I could not change type to Bar (external assembly)
}
我该如何解决。我尝试继承 Rab 并创建 Bar 类型的 new Foo 属性,但没有成功。
提前感谢您的任何建议。
【问题讨论】:
标签: nhibernate fluent-nhibernate fluent-nhibernate-mapping