Jak przekonwertować PropertyInfo
na wyrażenie właściwości, które może być użyte do wywołania metody StructuralTypeConfiguration<TStructuralType>.Ignore<TProperty>(Expression<Func<TStructuralType, TProperty>> propertyExpression)
?Jak przekonwertować PropertyInfo na wyrażenie właściwości i użyć go do wywołania metody ogólnej?
Próbowałem użyć Expression.Property()
skonstruować wyrażenie ale otrzymuję następujący błąd, gdy używam tego wyrażenia jako propertyExpression
parametru:
The type arguments for method cannot be inferred from the usage. Try specifying the type arguments explicitly.
Ten błąd prawdopodobnie odnosi się do TProperty
typu parametru, który nie wiem jak określić, mając tylko PropertyInfo
.
Robię to w odniesieniu do: Use Entity Framework's StructuralTypeConfiguration.Ignore() to Ignore all properties but specified set.
UPDATE
kod, który nie działa:
var propertyInfo = typeof(Foo).GetProperties()[0];
var expression = Expression.Default(typeof(Foo));
var expressionProperty = Expression.Property(expression, propertyInfo);
Ignore(expressionProperty);
Powinieneś pokazać swój kod, który nie działa ... –
@JonSkeet - dodano. – Pol