/// <summary> /// Creates a new member path segment, with a given binding key. /// </summary> /// <param name="bindingKey">The binding key of the member to access.</param> public StonMemberPathSegment(IStonBindingKey bindingKey) { if (bindingKey == null) { throw new ArgumentNullException("bindingKey"); } BindingKey = StonBindingKey.Copy(bindingKey); }
/// <summary> /// Creates a new member initialization of a complex value, given a sequence of member bindings. /// </summary> /// <param name="memberBindings">The sequence of member bindings.</param> public StonMemberInit(IEnumerable <KeyValuePair <IStonBindingKey, IStonEntity> > memberBindings) { MemberBindings = memberBindings?.Select(kvp => new KeyValuePair <IStonBindingKey, IStonEntity>(StonBindingKey.Copy(kvp.Key), StonEntity.Copy(kvp.Value))).ToList() ?? new List <KeyValuePair <IStonBindingKey, IStonEntity> >(); }