将映射封装在单独的类中

时间:2013-03-26 06:19:27

标签: c# linq

我想在查询上进行LINQ投影。为此,我使用LINQ Projector库。该项目的灵感来自Paul Hiles的post

此库允许您进行以下操作:

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>>

最好和最灵活的方法是什么? (所有映射类的基类,泛型)

0 个答案:

没有答案