0

实体框架有一个带有这个签名的函数:

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

如果你的表有一个聚集的主键,你可以这样表示:

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

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

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

4

1 回答 1

2

他们只是使用反射。

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

于 2012-06-15T12:33:16.207 回答