【发布时间】:2017-10-19 10:48:21
【问题描述】:
我的数据模型如下。 UserPhone 是必需的,但导航属性是可选的,只要 User 的表可以为空:
public class Request
{
[Key]
public int Id {get;set;}
[Required]
public string UserPhone {get;set;}
[ForeignKey("UserPhone")]
public virtual User User {get;set;}
}
public class User
{
[Key]
public string UserPhone {get;set;}
}
Users 表在请求输入系统后填充。在输入请求和未填充用户之间的某个位置我正在尝试获取用户的所有请求(如果存在)(外部连接)。
db.Requests.Include(r=>r.User).FirstOrDefault();
这给了我零结果,因为 EF 进行了内部连接(我的 UserPhone 字段已定义,并且是外键,它是 Requests 表所必需的)。
如何正确定义映射才能使用包含映射?我需要include,因为我的案例涉及了更多的表,我想通过手动连接来完成所有操作
【问题讨论】:
标签: c# .net entity-framework entity-framework-6 outer-join