【发布时间】:2012-02-22 15:05:19
【问题描述】:
我制作了一个通用扩展方法,它对对象执行操作并在此之后返回该对象:
public static T Apply<T>(this T subject, Action<T> action)
{
action(subject);
return subject;
}
我无法在 EntityFramework Linq 查询中使用此扩展方法,原因是:
表达式树可能不包含赋值运算符
这是为什么?
Linq 查询:
var parents = from p in context.Parent
join phr in context.Child on p.key equals phr.parentkey
into pr
select p.Apply(
x => x.Children = //The assignment operator that fails to build...
pr.ToDictionary(y => y.childkey, y => y.childname));
【问题讨论】:
标签: linq generics extension-methods