我有以下情况:
带有 db 实体的AssemblyX引用外部assemblyY并将其类用作基类。 如有必要,AssemblyX添加了一些导航属性。
当然,我可以复制所有这些实体并使用 automapper 来解决我的问题,但我有理由继承现有实体。
所以,我在assemblyYFoo {}
上课并在assemblyX创建。将流利的自动映射配置为忽略。一切正常。但是assemblyY有另一个实体(由流畅的自动映射覆盖),它具有引用的导航属性。这会导致异常:“来自表 Rab 的关联引用了一个未映射的类:Foo”。Bar: Foo {}
Foo (.IgnoreBase<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 并创建new Foo
具有 Bar 类型的属性,但没有成功。
提前感谢您的任何建议。