git://www.github.com/AutoMapper/AutoMapper.EF6.git
git clone http://www.github.com/AutoMapper/AutoMapper.EF6
$ svn co --depth empty http://www.github.com/AutoMapper/AutoMapper.EF6
Checked out revision 1.
$ cd repo
$ svn up trunk
AutoMapper和EF6的扩展
这包含了一些我在AutoMapper和EF6中使用过的有用扩展。 而不是这样:
Mapper.CreateMap<Employee, EmployeeDto>()
. ForMember(d => d.FullName, opt => opt.MapFrom(src => src.FirstName +"" + src.LastName));
var employees = await db.Employees.ProjectTo<EmployeeDto>().ToListAsync();
你可以这样做:
public class Employee {
[Computed]
public string FullName { get { return FirstName +"" + LastName; } }
}
Mapper.CreateMap<Employee, EmployeeDto>();
var employees = await db.Employees.ProjectToListAsync<EmployeeDto>();
这个包包装调用 ProjectTo
。DelegateDecompiler反编译/decompileasync方法,然后是执行可以查询的( ToList。ToArray。Single。SingleOrDefault等)的LINQ方法。