We have some legacy code using LLBLGenPro 3.5.
Long time ago we introduced custom fields collection :
public class CustomEntityFields : EntityFields2, IEntityFields2
It also uses own type of fields:
public class CustomEntityField : EntityField2
I have tried to migrate that code to newest version of LLBLGenPro, sadly I ran into issues with these types (maybe there are more, but at the moment the place where I am blocked).
Problem for me is that LLBLGen framework expects that fields collection used in entity is created using constructor which accepts StaticEntityFieldsDataContainer staticData, which then sets this._inEntityDataMode = true; There is no other way to set this mode.
By default standard fields collection is created inside FieldInfoProvider which is internal and cannot be accessed by user code. I have tried to copy that code in order to set my own IFieldInfoProvider .. But its implementation uses other internal methods of FieldInfo like for example SetIsInMultiTargetEntity.. and so on and so on..
Currently with existing 5.x LLBLGen implementation we are not able to migrate our legacy code to newer version because of these issues. One of possibilities of course would be to get rid of those custom collections, but it is so deep in the code that it would be easier to rewrite everything (and then would arise question of ORM... ).
So my question then would be: do you have any suggestions how to solve that?