protected virtual string GetMemberName(IMetadataNode member)
		{
			if (member is EntityField)
				return ((EntityField)member).Name;
			if (member is IndexField)
				return ((IndexField)member).Name;
			if (member is Link)
				return ((Link)member).Name;

			throw new InvalidOperationException("Unrecognized member type: " + member.GetType().ToString());
		}