3
我想開發一些基本的web應用程序。我將只發布兩個實體Article和Image的問題。實體 - >接口關係,如何映射
一篇文章有很多圖片,一篇或多篇圖片只屬於一篇文章。 每篇文章都實現了接口IArticle和抽象類ArticleBase。 ArticleBase僅爲每篇文章定義了通用屬性,但子文章可以具有除ArticleBase中定義的屬性之外的更多屬性。
所以我有(IArticle
,ArticleBase
,ArticleComputer
,ArticleCar
)
public abstract class ArticleBase : Entity, IArticle
{
...
public string Name { get; set; }
public DateTime Created { get; set; }
}
public class ArticleComputer : ArticleBase
{
public virtual IList<Image> Images {get; set;}
public virtual OSTypeEnum OS {get; set;}
...
}
public class ArticleCar : ArticleBase
{
public IList<Image> Images {get;set;}
public virtual EngineTypeEnum EngineType {get; set;}
...
}
public class Image : Entity<Guid>
{
public virtual IArticle Article {get; set;}
}
所以我的問題是:我應該如何映射圖像對象,因爲我不想每一篇文章,其獨立實現IArticle地圖?
public class ImageMap : ClassMapping<Image>{
public ImageMap() {
Id(x => x.Id, m => m.Generator(Generators.Identity));
ManyToOne(x => x.Article, m =>
{
m.NotNullable(true);
});
}
}