让我解释一下这个问题——希望我已经在标题中很好地定义了它,但我想确定一下。
我有一个 linq 查询,可以拉回一堆对象(比如 Foos)。每个 Foo 都包含一个对 User 的引用。每个用户都持有一个人的引用:
public class Foo
{
//properties omitted...
public User CreatedBy {get;}
}
public class User
{
//properties omitted...
public Person Person {get;set;}
}
正如对象结构所暗示的那样,在数据库中,Foo 将多对一关联到 User,而 User 将多对一关联到 Person。
当我运行查询时,我为 Foos 获得一个 SELECT,然后为所有用户和人员分别获得一个 SELECT。显然,我更喜欢带有几个连接的单个 SELECT。
我不一定要在我的映射配置中指定 Foos 总是渴望获取用户,或者用户总是渴望获取人,但我希望能够在这种情况下指定。
有没有办法做到这一点?
谢谢
大卫