public Field GetField(MemberInfo member)
        {
            FieldInfo fi = member as FieldInfo ?? Reflector.FindFieldInfo(FieldType, (PropertyInfo)member);

            if (fi == null)
            {
                throw new InvalidOperationException("Field {0} not found on {1}".FormatWith(member.Name, FieldType));
            }

            EntityField field = EmbeddedFields.GetOrThrow(fi.Name, "Field {0} not found on schema");

            return(field.Field);
        }
        public Field TryGetField(MemberInfo value)
        {
            FieldInfo fi = value as FieldInfo ?? Reflector.TryFindFieldInfo(FieldType, (PropertyInfo)value);

            if (fi == null)
            {
                return(null);
            }

            EntityField field = EmbeddedFields.TryGetC(fi.Name);

            if (field == null)
            {
                return(null);
            }

            return(field.Field);
        }
 public override string ToString()
 {
     return("Embebed\r\n{0}".FormatWith(EmbeddedFields.ToString(c => "{0} : {1}".FormatWith(c.Key, c.Value), "\r\n").Indent(2)));
 }