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 で子エンティティを持つブログを初期化すると、エラーや明示的な変換は必要ありません。つまり、

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

しかし、何らかの理由で、IEnumerable の代わりに IList を使用する必要があります。

 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