Linq 在表达式中使用匿名类型

Linq 在表达式中使用匿名类型,linq,entity-framework,lambda,Linq,Entity Framework,Lambda,实体框架具有以下签名的功能: public EntityTypeConfiguration<TEntityType> HasKey<TKey>(Expression<Func<TEntityType, TKey>> keyExpression); 我的问题是,他们如何消费这种匿名类型?我想在我自己的方法中构建一些类似的功能,允许lambda表达式返回多个属性 有什么特殊的方法可以窥视匿名类型吗?他们只是使用反射 为了提高性能,您可以使用表达式树以

实体框架具有以下签名的功能:

public EntityTypeConfiguration<TEntityType> HasKey<TKey>(Expression<Func<TEntityType, TKey>> keyExpression);
我的问题是,他们如何消费这种匿名类型?我想在我自己的方法中构建一些类似的功能,允许lambda表达式返回多个属性


有什么特殊的方法可以窥视匿名类型吗?

他们只是使用反射


为了提高性能,您可以使用表达式树以泛型类型存储预编译的委托。

这里的答案显然是正确的。非常感谢。
this.HasKey(t => new { t.Field1, t.Field2 });