1

下面是我在 C#.Net 中的 DTO

public class Movie
{
 public int Id { get; set;}
 public IEnumerable<Blog> Blogs {get; set;}
}


public class Blog
{
  public int Id { get; set;}
}
public class BlogCat1 : Blog
{
  public string SomeProp1 { get; set;}
}

public class BlogCat2 : Blog
{
  public string SomeProp2 { get; set;}
}

现在,当我使用 IEnumerable 初始化具有子实体的博客时,不需要错误或显式转换。IE,

movieObj.Blogs = new List<BlogCat1>(); // fine no error
movieObj.Blogs = new List<BlogCat2>(); // fine no error

但由于某种原因,我需要使用 IList 而不是 IEnumerable 作为

 public IList<Blog> Blogs {get; set;}

但是当更新时&尝试分配子实体

movieObj.Blogs = new List<BlogCat1>(); // error CompileTime Error

movieObj.Blogs = (Ilist<BlogCat1)new List<BlogCat1>(); // error 

如何IList<Parent>映射IList<Child>

谢谢!

4

0 回答 0