1

このコードで列ファミリーを作成しようとしています

 

    public void CreateAColumnFamily()
     {
      using (var db = new CassandraContext(keyspace:"Earth",
        サーバー: サーバー))
      {
        CassandraColumnFamily cf = db.GetColumnFamily("人");
        もし (cf == null)
        {
          db.ExecuteNonQuery(@"CREATE COLUMNFAMILY 人 (
            KEY ascii PRIMARY KEY,
            名のテキスト、
            姓のテキスト、
            年齢整数、
            タイトルテキスト
    );");
        }
        cf = db.GetColumnFamily("人");
      }
    }

しかし、何も起こらない。コマンドを実行するだけの場合create column family cassandra-cli の人 - 列ファミリーを作成しています。私は何を間違っていますか?

4

1 に答える 1

0

あなたのコードは、列ファミリー 'People' が既に存在することを前提としています。

デシベル.GetColumnFamily("人"); // 既存の CF を取得していることを意味します

列ファミリーを作成するには:

db.TryCreateColumnFamily(new CassandraColumnFamilySchema
{
    FamilyName = "Tags",
    KeyValueType = CassandraType.AsciiType,
    ColumnNameType = CassandraType.Int32Type,
    DefaultColumnValueType = CassandraType.UTF8Type
});

出典:流暢な cassandra github の例

また、補足として。流暢な cassandra のドキュメントを見つけるのに苦労しましたが、あなたもそうだったようです。Cassandra を学習している場合は、 datastax C# ドライバーを試してみてください...多くのドキュメントとその背後にあるより大きなコミュニティです。

于 2013-08-17T18:02:23.823 に答える