I can't reproduce it with inserts, this is logical as the code filters out fields without persistenceinfos already.
Will now test Updates.
(edit) with updates, I also can't reproduce it (v2.5).
Looking into WHY I can't reproduce it, my extended field has IsReadOnly set to true. This means that it is skipped before the persistence info array is checked.
I've added a field like this:
public override IEntityFields2 CreateFields()
{
IEntityFields2 toReturn = base.CreateFields();
toReturn.Expand(1);
IEntityField2 scalarField = new EntityField2("NumberOfOrders",
new ScalarQueryExpression(OrderFields.OrderId.SetAggregateFunction(
AggregateFunction.Count),
(CustomerFields.CustomerId == OrderFields.CustomerId)));
toReturn.DefineField(scalarField, toReturn.Count - 1);
return toReturn;
}
This creates a new EntityField2 instance which gets an empty fieldinfo object with IsReadonly set to true. This is also the case in v2.0.
Could you elaborate a bit how you've added the extra fields?
Also, fields YOU added can't be persisted, so you can't change them. Did you change the fields you added manually ?