Кассандра. Как создать семейство столбцов с помощью FluentCassandra API?

Я пытаюсь создать семейство столбцов с помощью этого кода

 

    public void CreateAColumnFamily()
     {
      using (var db = new CassandraContext(keyspace:"Earth", 
        server: Server))
      {
        CassandraColumnFamily cf = db.GetColumnFamily("People");
        if (cf == null)
        {
          db.ExecuteNonQuery(@"CREATE COLUMNFAMILY People (
            KEY ascii PRIMARY KEY,
            FirstName text,
            LastName text,
            Age int,
            Title text
    );");
        }
        cf = db.GetColumnFamily("People");
      }
    }

Но ничего не случилось. Если я просто выполняю команду создать семейство столбцов Люди в cassandra-cli - создается семейство столбцов. Что я делаю не так?


person user2686299    schedule 15.08.2013    source источник
comment
Что это за язык?   -  person Raedwald    schedule 15.08.2013
comment
@Raedwald FluentCassandra == C #   -  person Lyuben Todorov    schedule 17.08.2013


Ответы (1)


В вашем коде предполагается, что семейство столбцов «Люди» уже существует, и этого не должно быть, если вы пытаетесь его создать.

db.GetColumnFamily ("Люди"); // означает, что мы получаем существующий CF

Чтобы создать семейство столбцов:

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

Источник: Пример из беглого cassandra github .

Также в качестве примечания. Я изо всех сил пытался найти документацию для беглой кассандры, и похоже, что вы тоже. Если вы изучаете Cassandra, попробуйте драйвер C # datastax ... множество документации и большое сообщество за этим.

person Lyuben Todorov    schedule 17.08.2013