我有一个带有可选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