当我尝试访问我的数据库上下文时,我可以通过我的结果访问其他表:
MyEntities myEnt = new MyEntities();
var comments = myEnt.Comments.Where(x=>x.UserName == UserName);
foreach(Comment comment in comments){
string FirstName = comment.UserProfile.FirstName;
}
我的智能感知提取外键映射并允许我访问连接的表UserProfile
。这是一种不好的做法,以这种方式“链接”我的结果,而不是像这样使用连接进行标准 linq 查询:
var query = from comments in myEnt.Comments
join up in myEnt.UserProfiles on comments.UserId equals up.UserId
select new {...}
更新
另外,如果我进一步跟踪怎么办,例如:
comment.aspnet_Users.UserProfiles.UserRatings.ToList()
我尝试了类似的方法,当我在第二次尝试这种方法时,查询似乎花费了更长的时间。智能感知让您可以跟踪相关表格,如果我像这样链接多个表格,这会影响速度吗?