private NavigationProperty CreateNavigationProperty(
            ClientModelProperty property,
            ClientModelMetadata modelMetadata)
        {
            var fkPropertyNames = modelMetadata.Associations[property.Name].ForeignKeyPropertyNames;

            return(new NavigationProperty
            {
                IsScalar = property.IsEntityType,
                EntityTypeName = GetBreezeTypeFullName(property.Type),
                NameOnServer = property.Name,
                AssociationName = GetAssociationName(modelMetadata.Type.Name, property.Type.Name, fkPropertyNames),
                InvForeignKeyNamesOnServer = property.IsEntityType ? null : fkPropertyNames,
                ForeignKeyNamesOnServer = property.IsEntityType ? fkPropertyNames : null,
            });
        }
        private DataProperty CreateDataProperty(
            ClientModelProperty property,
            MemberConfiguration memberConfiguration,
            StructuralType structuralType)
        {
            var dataProperty = CreateDataProperty(
                property.Name,
                property.DataType,
                property.IsPartOfKey,
                property.IsNullable,
                false,
                memberConfiguration,
                structuralType,
                null);

            dataProperty.ComplexTypeName = property.IsComplexType ? GetBreezeTypeFullName(property.Type) : null;

            return(dataProperty);
        }