我正在做什么,但这是错的,我知道。
public Profile GetProfile(int id)
{
Profile profile = (
from u in en.User where u.UserID == id
select u.Profile.FirstOrDefault()
).First();
if (profile.UserReference.Value == null)
profile.UserReference.Load();
return profile;
}
Profile.UserID是绑定到User.UserID的FK。因此,实体框架不会将Profile.UserID包含在实体模型中,这就是为什么我的linq查询首先查找User对象然后选择相关的Profile对象(这对我来说感觉很脏)。
任何人都可以提供更好的解决方案:
提前致谢!
答案 0 :(得分:4)
尝试使用Include方法
public Profile GetProfile(int id)
{
return (from p in db.Profiles.Include("User")
where p.User.UserId == id
select p).FirstOrDefault();
}
此方法返回配置文件对象,并且已加载用户引用。