When working with arrays, you will always get the warning message you reported by default. You can disable this warning message by setting the VerboseMode for the OpenAccess Enhancer to 2 in the OpenAccess.targets file. See the following example:
Assembly="@(IntermediateAssembly->'%(FullPath)')" XmlMapping="@(OpenAccessEmbeddedResource)" AttributeMapping="$(CalculatedAttributeMapping)" FluentMapping="$(CalculatedFluentMapping)" KeyFile="$(AssemblyOriginatorKeyFile)" KeyContainer="$(KeyContainerName)" References="@(ReferencePath)" TargetFramework="$(TargetFrameworkVersion)">
You can find the OpenAccess.targets file under C:\Program Files (x86)\MSBuild . Hence you need to reload your solution and rebuild your project in order to have the new settings applied.
To you first question. As mentioned in the documentation you need to inform Telerik OpenAccess ORM about changes to the array, if you manipulate the values inside an array. This is because we can not track these changes. To notify OpenAcces about changes for the field, you must call the MakeDirty() method of the Context/Scope. See the following example:
using (EntitiesModel ctx = new EntitiesModel())
DomainClass1 dc1 = ctx.DomainClass1.First();
dc1.Property1 = 1;
If you just replace the whole array, then you don't need to notify OpenAccess about changes you have made because they are tracked automatically.
To your second question: This feature is currently not supported with Telerik OpenAccess ORM. How important is this feature for you?
I hope this information is helpful for you. Do come back if you have any other question.
All the best,
the Telerik team