在Expression中使用匿名类型

时间:2012-06-15 12:31:42

标签: linq entity-framework lambda

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

public EntityTypeConfiguration<TEntityType> HasKey<TKey>(Expression<Func<TEntityType, TKey>> keyExpression);

如果您的表具有群集主键,则可以表示如下:

this.HasKey(t => new { t.Field1, t.Field2 });

我的问题是,他们如何使用这种匿名类型?我想在我自己的方法中构建一些类似的功能,允许lambda表达式返回多个属性。

是否有一些特殊方式可以查看匿名类型?

1 个答案:

答案 0 :(得分:2)

他们只是使用反射。

为了获得额外的性能,您可以使用表达式树以通用类型存储预编译的委托。