2

由于某种原因, Owner 属性始终为空,我不确定是什么原因造成的,因为其余的类属性加载正常。这里唯一的区别是属性类型不是原始的。

型号代码

#region : Project :
[Table("Project")]
public class Project
{
    ...   
    public UserAccount Owner { get; set; }
    ...
}

数据库中的行

ProjectID = 61
CreatedDate = 2013-05-26 17:04:07.480
ProjectName = 'test'
Owner_Username = 'someusername'
UserAccount_Username = 'someusername'

创建上下文 DbSet

public DbSet<Project> Projects { get; set; }

尝试检索所有者

Project _Project = _Db.Projects.FirstOrDefault(p => p.ProjectID == projectID);                
UserAccount _Owner = _Project.Owner; //<--- Null

是什么阻止了所有者对象被实例化?

4

1 回答 1

2

如果所有者来自一个单独的表,那么实体框架将不会加载它,除非您表明您希望它包含在查询结果中。尝试这个:

Project _Project = _Db.Projects.Include("Owner").FirstOrDefault(p => p.ProjectID == projectID);                
于 2013-05-26T16:54:54.197 回答