1

クエリで LINQ プロジェクションを作成したい。これには、LINQ Projectorライブラリを使用します。このプロジェクトは、Paul Hilesによるこの投稿に触発されています。

このライブラリを使用すると、次のことができます。

public class Blog
{
   public int Id {get;set;}
   public string Name {get;set;}
   public ICollection<Post> Posts {get;set;}
}

public class BlogView
{
   public int Id {get;set;}
   public string BlogName {get;set;}
   public int NumberOfPosts {get;set;}
}

var person = new DataContext().Blog.Project().To<BlogView>(
   //custom mappings
    m=>m
   .Map(t=>t.BlogName, s=>s.Name)
   .Map(t=>t.NumberOfPosts, s=>s.Posts.Count());       
).First();

気に入っていますが、カスタム マッピングをクラスにカプセル化したいと考えています。メソッドは、この例 To を受け入れることができます。Action<Mapper<Person, PersonView>>

それを行うための最良かつ柔軟な方法は何ですか?(すべてのマッピング クラスの基本クラス、ジェネリック)

4

0 に答える 0