日期:2014-05-20  浏览次数:20812 次

Queryable.Join:关于动态生成参数(lambda表达式)的问题
需要动态的做多表查询,使用Join:
C# code
var query = people.AsQueryable().Join(pets,
                                person => person,
                                pet => pet.Owner,
                                (person, pet) =>
                                    new { OwnerName = person.Name, Pet = pet.Name });

想问一下,如果需要的参数都有了的话,上边这方法需要的三个lambda表达式要如何动态的生成呢?
注:网上的文章我也都看过了,可是,像pet => pet.Owner这个表达式没有例子,都是pet => pet.Owner > 010这个样子的。
还有要请教一下,就我这个问题大家有什么更优的方案么?

------解决方案--------------------
pet => pet.Owner
相当于
C# code
User foo(Pet pet)
{
    return pet.Owner; //假设Owner是一个User型的对象
}