Couchbase именованные параметры для сегментов - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь добавить именованный параметр, чтобы заполнить мое имя корзины, но я не могу заставить его работать.

  var query = new QueryRequest()
    .Statement("SELECT b.*, META(b).id FROM $bucketName b WHERE b.type = 'Board' AND b.environment = $environment")
                .AddNamedParameter("$bucketName", _bucketName)
                .AddNamedParameter("$environment", _environment);

  query.ScanConsistency(ScanConsistency.RequestPlus);

  var result = _bucket.Query<Board>(query);

Следующее работает правильно:

  var query = new QueryRequest()
    .Statement("SELECT b.*, META(b).id FROM `travel-sample` b WHERE b.type = 'Board' AND b.environment = $environment")
                .AddNamedParameter("$environment", _environment);

РЕДАКТИРОВАТЬ: это также не работает

.AddNamedParameter("$bucketName", $"`{_bucketName}`")

1 Ответ

0 голосов
/ 02 февраля 2019

Не думаю, что вы можете использовать параметр для имени сегмента (рад, что вы ошиблись).В этих сценариях я использовал сам объект корзины, чтобы получить имя.Нравится:

var n1ql = $"SELECT t.* FROM `{_bucket.Name}` t LIMIT 10";
...