我对于在实体框架中使用lambda表达式很感兴趣,并且在这方面会很感谢。如何在实体框架中使用lambda表达式和谓词
在我的项目,我有两个实体作者和课程与1-M的关系(一个作者可以有多个课程):
public class Author
{
public int AuthorId {get; set;}
public string Name {get; set;}
public virtual ICollection<Course> Courses {get; set;}
}
public class Course
{
public int CourseId {get; set;}
public string Title {get; set;}
public int AuthorId {get; set;}
public virtual Author {get; set;}
}
我要与相关的课程检索所有的作者 - 这同样适用于我的项目中的其他实体。出于这个原因,我想类似于get()方法如下:
public class GenericService<T> where T : class
{
// DbContext defined
public IEnumerable<T> Get(...)
{
return Context...
}
}
在我的控制器动作,我会做类似下面的东西:
public ActionResult Get_Authors_With_Courses()
{
// var authors = Get (...)
return View(authors);
}
我不知道如何定义Get(...)返回父/子对象的方法。有人可以在这方面指导我。
在此先感谢。
闵采尔,这工作就像一个魅力。这就是我一直在寻找的东西,尤其是通用零件。有没有办法一次加载所有的Child对象?我认为对于这种情况,我们必须编写单独的查询。 – Tech
我认为一个更好的做法是启用延迟加载[阅读此](http://www.entityframeworktutorial.net/EntityFramework4.3/lazy-loading-with-dbcontext.aspx),这种方式应该工作。 – Munzer
我很高兴我帮助:) – Munzer