Beispiel #1
0
        internal static object ConvertToDbValue(object value, IXrmDb db)
        {
            if (value is OptionSetValue osv)
            {
                return(osv.Value);
            }
            if (value is Money money)
            {
                return(money.Value);
            }
            if (value is EntityReference reference && db.IsValidEntity(reference.LogicalName))
            {
                //return db.GetEntity(reference);
                return(value);
            }
            if (value is IEnumerable <Entity> entities)
            {
                return(entities
                       .Where(e => db.IsValidEntity(e.LogicalName))
                       .Select(e => db.GetEntity(e.ToEntityReference()))
                       .ToArray());
            }

            return(value);
        }