如何为1到*导航属性的父级创建ParameterExpression?
以下适用于子实体:
var parameter = Expression.Parameter(
typeof(T), // where T is the entity type
GetParameterName()); // helper method to get alias
在TParent上尝试类似的东西会产生一个源自Context的查询,而不是作为孩子的属性。
lambda等价物是这样的:
var q = from f in context.Foo
where f.Bar.BarId == 1...
// where bar is the Navigation Property to the parent
为了清晰起见进行编辑:
我使用以下命令从属性创建成员表达式:
Expression exp = Expression.Equal(
Expression.Property(parameter, "SomeColumn"),
Expression.Constant("SomeValue"));
因此,在这种情况下,我应该使用MemberExpression而不是ParameterExpression。
答案 0 :(得分:1)
我有点困惑......“。棒”不是一个ParameterExpression
- 它是MemberExpression
。 f
是参数。你究竟想做什么?
请注意,一个选项是将示例代码加载到反射器中,转换.NET 3.5提示,并阅读它是如何做的 - 它看起来像代码here,但通常很容易跟随。