0

次の CQL クエリが機能するように、Guid を UUID または同じ文字列バージョンに変換したいと考えています。

                        if (cassandraDb.ExecuteQuery(string.Format("SELECT OrderGroupId FROM Order WHERE OrderGroupId={0}", orderGroupId)).Count() <= 0)                            {

変数「orderGroupId」は Guid です。明らかに、これは C#/.NET 環境で FluentCassandra を使用しています。ヒントはありますか?

ありがとうございました。

4

2 に答える 2

0

.ToString()プロパティを使用して、CQL クエリを文字列として直接実行します。

string.Format("SELECT OrderGroupId FROM Order WHERE OrderGroupId={0}", orderGroupId.ToString())

うまくいくはずです。そうでない場合は...これを試してみてください(C#クライアントの1つのコメントスレッドで見つけました):

    protected static string ToCqlString(Guid guid) {
        var bytes = guid.ToByteArray();
        StringBuilder sb = new StringBuilder(bytes.Length * 2);
        for (int i = 0; i < 16; i++) {
            if (i == 4 || i == 6 || i == 8 || i == 10) {
                sb.Append("-");
            }
            var b = bytes[i];
            sb.AppendFormat("{0:x2}", b);

        }
        return sb.ToString();
    }

乾杯、アリソン

于 2012-12-21T18:23:13.957 に答える
0

System.Guid を FluentCassandra.Types.UUIDType に変換するには、一方を他方に割り当てるだけです。

FluentCassandra.Types.TimeUUIDType についても同様です。

于 2012-11-12T21:33:49.037 に答える