Если вы не хотите загрязнять свои POCO, вероятно, лучшим вариантом будет Interceptor. Взгляните на различные статьи о перехватчиках, например this .
На вашем перехватчике вы хотите проверить тип, чтобы вы знали, в какие поля помещать фиктивные данные. Убедитесь, что вы используете currentState [] в методе OnFlushDirty (OnFlushDirty - "update") и состояние [] в Метод OnSave («вставить»). Например (OnSave):
if (entity is Group)
{
state[Array.IndexOf(propertyNames, "Indentation")] = "dummy value";
return true;
}
return false;
Edit:
Вы пытаетесь вставить данные, которых нет в вашем домене, но которые требуются для вашей модели базы данных, поэтому вышеприведенное не будет работать для вас. Вместо этого вам придется добавить элемент в каждое из массивов state, propertyNames и types.