比如我现在有2个类
class Project{
public long id{get;set;}
public long? Employeeid{get;set;}//审核人
public Employee em{get;set;}
}
class Employee{
pubilc long id{get;set;}
}
我在project中配置
HasRequired(x => x.em).WithMany().HasForeignKey(x => x.Employeeid);
因为project中的Employeeid有可能为null。。但Employeeid为null时,查询的时候整个project都为null了。。我想的是如果Employeeid为null。。最多是project的em对象为null。。应该如何做?
刚接触EF。双向1对1是我中有你 你中有我。EF机制就这样。就算你不Incude也默认会join并且拿关联表的ID出来。
感谢1楼的回答。1-0这样就OK了。
不要使用 1对1关系, 要使用1对0-1的关系
1对1 是要双向必须存在的
配置可参考博文
http://www.cnblogs.com/libingql/archive/2013/01/31/2888201.html
你应该用Employee去关联Project,Project是主表,然后和Employee左连接,这样才能得到你想要的数据
是不是你用来自己做测试的数据有问题,怎么做连接你应该是知道的,Employeeid为null的时候主表中关于这个ID所记录的数据会null,但是主表中Employeeid is not null 的数据应该能查出来才对