public IRdbmsStoragePropertyDefinition UnifyWithEquivalentProperties(IEnumerable <IRdbmsStoragePropertyDefinition> equivalentProperties) { ArgumentUtility.CheckNotNull("equivalentProperties", equivalentProperties); var checkedProperties = equivalentProperties.Select(property => StoragePropertyDefinitionUnificationUtility.CheckAndConvertEquivalentProperty( this, property, "equivalentProperties")).ToArray(); var unifiedValueProperty = _valueProperty.UnifyWithEquivalentProperties(checkedProperties.Select(p => p.ValueProperty)); var unifiedClassIDProperty = _classIDProperty.UnifyWithEquivalentProperties(checkedProperties.Select(p => p.ClassIDProperty)); return(new ObjectIDStoragePropertyDefinition(unifiedValueProperty, unifiedClassIDProperty)); }
public IRdbmsStoragePropertyDefinition UnifyWithEquivalentProperties(IEnumerable <IRdbmsStoragePropertyDefinition> equivalentProperties) { ArgumentUtility.CheckNotNull("equivalentProperties", equivalentProperties); var checkedProperties = equivalentProperties.Select(property => StoragePropertyDefinitionUnificationUtility.CheckAndConvertEquivalentProperty( this, property, "equivalentProperties", prop => Tuple.Create <string, object> ("property type", prop.PropertyType) )).ToArray(); var unifiedSerializedIDProperty = _serializedIDProperty.UnifyWithEquivalentProperties(checkedProperties.Select(p => p.SerializedIDProperty)); return(new SerializedObjectIDStoragePropertyDefinition(unifiedSerializedIDProperty)); }