实体框架使用Include生成内部联接

时间:2018-03-13 14:21:02

标签: c# sql asp.net-mvc entity-framework-6

我有一个代表带有电子邮件附件和电子邮件标头的电子邮件的模型。电子邮件附件和电子邮件标题都具有EmailId作为外键,并且两个外键都不能为空。我尝试使用实体框架加载电子邮件模型,我尝试使用include加载附件和标题。

context.Emails.Include(x => x.EmailAttachments).Include(x => x.EmailHeaders)

为电子邮件附件生成左外连接,为电子邮件标头生成内连接。

context.Emails.Include(x => x.EmailHeaders).Include(x => x.EmailAttachments)

上述代码为电子邮件标题生成左外连接,为电子邮件附件生成内连接。

有没有办法让两个包含生成左外连接?

编辑:添加模型结构

public class Email
{
    public long Id { get; set; }
    public string From { get; set; }
    public string To { get; set; }
    public string Subject { get; set; }
}

public class EmailAttachment
{
    public long Id { get; set; }
    public long EmailId { get; set; }
    public string FileName { get; set; }
}

public partial class EmailHeader
{
    public long Id { get; set; }
    public long EmailId { get; set; }
    public string Text { get; set; }
    public string Value { get; set; }
}

0 个答案:

没有答案