Consider a convention that tries to include all non-public properties in a model
```
modelBuilder
.Entities()
.Configure(c =>
{
var nonPublicProperties =
c.ClrType.GetProperties(BindingFlags.NonPublic|BindingFlags.Instance);
foreach (var p in nonPublicProperties)
{
c.Property(p);
}
});
```
Calling Property isn't enough to have the property included in the model. You need to configure some facet of the property (column name being the easiest).
This is inconsistent with the Fluent API, where calling Property is enough to include the property in the model.
```
modelBuilder
.Entities()
.Configure(c =>
{
var nonPublicProperties =
c.ClrType.GetProperties(BindingFlags.NonPublic|BindingFlags.Instance);
foreach (var p in nonPublicProperties)
{
c.Property(p);
}
});
```
Calling Property isn't enough to have the property included in the model. You need to configure some facet of the property (column name being the easiest).
This is inconsistent with the Fluent API, where calling Property is enough to include the property in the model.