Entity class
<code>public class MyEntity {
public List<MyProperty> Properties;
public Type EntityType;
}
</code>
<code>public class MyEntity {
public List<MyProperty> Properties;
public Type EntityType;
}
</code>
public class MyEntity {
public List<MyProperty> Properties;
public Type EntityType;
}
Property class
<code>public class MyProperty {
public string PropertyName;
public Type PropertyType;
}
</code>
<code>public class MyProperty {
public string PropertyName;
public Type PropertyType;
}
</code>
public class MyProperty {
public string PropertyName;
public Type PropertyType;
}
I have an entity builder class which have a method creating new property builder, passing existing MyProperty instance to it.
It gets called like this: .Property(Blog x => x.Post)
<code>public class MyEntityBuilder<TEntity> {
private MyEntity entity;
public MyPropertyBuilder<TProperty> Property<TProperty>(Expression<Func<TEntity, TProperty>> propertyExpression) {
MyProperty property = **Do something with the propertyExpression**
return new MyPropertyBuilder(property);
}
}
</code>
<code>public class MyEntityBuilder<TEntity> {
private MyEntity entity;
public MyPropertyBuilder<TProperty> Property<TProperty>(Expression<Func<TEntity, TProperty>> propertyExpression) {
MyProperty property = **Do something with the propertyExpression**
return new MyPropertyBuilder(property);
}
}
</code>
public class MyEntityBuilder<TEntity> {
private MyEntity entity;
public MyPropertyBuilder<TProperty> Property<TProperty>(Expression<Func<TEntity, TProperty>> propertyExpression) {
MyProperty property = **Do something with the propertyExpression**
return new MyPropertyBuilder(property);
}
}
I`ve tried to look into EFCore internals, but did not understand a lot. Basically, I want to compile my expression into something like:
<code>MyProperty property = entity.Properties
.Single(x => x.PropertyType == typeof(TProperty) && x.PropertyName == propertyExpression.GetPropertyName())
</code>
<code>MyProperty property = entity.Properties
.Single(x => x.PropertyType == typeof(TProperty) && x.PropertyName == propertyExpression.GetPropertyName())
</code>
MyProperty property = entity.Properties
.Single(x => x.PropertyType == typeof(TProperty) && x.PropertyName == propertyExpression.GetPropertyName())
Im struggling with getting the name of entity`s property, which was passed in expression