コード例 #1
0
        internal static string GetQuerySource(DocumentConventions conventions, Type type, IndexSourceType sourceType)
        {
            var collectionName = conventions.GetCollectionName(type);

            string source;

            switch (sourceType)
            {
            case IndexSourceType.Documents:
                source = "docs";
                break;

            case IndexSourceType.Counters:
                source = "counters";
                break;

            case IndexSourceType.TimeSeries:
                source = "timeSeries";
                break;

            default:
                throw new NotSupportedException($"Not supported index source type '{sourceType}'.");
            }

            if (StringExtensions.IsIdentifier(collectionName))
            {
                return($"{source}.{collectionName}");
            }

            return($"{source}[@\"{collectionName.Replace("\"", "\"\"")}\"]");
        }
コード例 #2
0
ファイル: MapIndexBase.cs プロジェクト: trisadmeslek/ravendb
 protected MapIndexBase(IndexType type, IndexSourceType sourceType, T definition) : base(type, sourceType, definition)
 {
 }
コード例 #3
0
        internal static string GetQuerySource(DocumentConventions conventions, Type type, IndexSourceType sourceType)
        {
            var collectionName = conventions.GetCollectionName(type);

            string source;

            switch (sourceType)
            {
            case IndexSourceType.Documents:
                source = "docs";
                break;

            case IndexSourceType.Counters:
                source = "counters";
                break;

            case IndexSourceType.TimeSeries:
                source = "timeSeries";
                break;

            default:
                throw new NotSupportedException($"Not supported index source type '{sourceType}'.");
            }

            if (StringExtensions.IsIdentifier(collectionName))
            {
                return($"{source}.{collectionName}");
            }

            var builder = new StringBuilder($"{source}[@\"");

            StringExtensions.EscapeString(builder, collectionName);
            return(builder.Append("\"]").ToString());
        }