我正在尝试在下表之间创建一个(Project
)到多个(ActionLog
)关系:
public class Projects {
[Key]
public int Id { get; set; }
public string Name { get; set; } //I cut out most of the props as they were not relevant
}
//They exist in two different .cs files.
public class ActionLog {
[Key]
public int Id { get; set;}
public string Information {get; set;}
public ProjectsId {get; set;}
}
目前,在我的viewmodel中,我正在为与ProjectTableId
匹配的所有条目执行linq选择,并将其放入每个Project
实例的列表中。
我担心这种方法效率非常低,因为它会在数据库中查询每个项目的条目。我知道在这种情况下急切(?)加载最好,但我不知道如何实现它。
答案 0 :(得分:0)
传统上,您的许多相关项目都会ICollection
:
public class Project
{
...
public virtual ICollection<ActivityLog> ActivityLogs { get; set; }
}
然后,您可以在查询项目时包含日志:
var projects = db.Projects.Include(m => m.ActivityLogs)