具有实体框架的AutoMapper可查询扩展 - 如何获取OUTER连接?

时间:2016-04-19 12:40:18

标签: entity-framework automapper

我有一个带有可选Contract子实体的Job实体(使用Entity Framework)

    public class Job
    {
        public string Title { get; set; }
        public Guid? ContractId { get; set; }
        public virtual Contract Contract { get; set; }
    }

    public class Contract
    {
        public DateTime StartDate{ get; set; }
    }

我有以下DTO

    public class JobDto
    {
        public string Title { get; set; }
        public DateTime ContractStartDate { get; set; }
    }

我使用AutoMapper可查询扩展程序投影到DTO。

c.CreateMap<WorkTask, WorkTaskDtoLite>();

var jobDtos = _context.Jobs.ProjectTo<JobDto>().ToList();

然后这会生成INNER联接,因此不会返回没有Contract的任何JobDtos。我需要OUTER加入......

我真的不确定如何解决这个问题。我已提到https://github.com/AutoMapper/AutoMapper/wiki/Queryable-Extensions,但这似乎没有解决这个基本问题。

任何帮助表示赞赏!

更新

感谢所有,但似乎是Entity Framework Core RC1的潜在问题。

请参阅此处的错误报告:

https://github.com/aspnet/EntityFramework/issues/3186

建议在这里解决:

https://github.com/aspnet/EntityFramework/commit/c4e44471b6f41f96d37b1acfbbb4cc97cd11ee89

0 个答案:

没有答案