卡桑德拉。如何使用FluentCassandra API创建列族?

时间:2013-08-15 15:09:41

标签: c# cassandra column-family

我正在尝试使用此代码创建列族

 

    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中创建列族人 - 列族正在创建。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的代码假定他们的列系列“人物”已经存在,如果您尝试创建它,则不应该存在。

  

db.GetColumnFamily( “人物”); //意味着我们正在获得现有的CF

创建列族:

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

来源:Example from fluent cassandra github

另外作为旁注。我努力寻找流利的cassandra的文档,看起来你也是这样做的。如果您正在学习Cassandra,请试用datastax C# driver ...大量文档和更大的社区。