尝试使用Linq创建表时,Datastax c#Cassandra驱动程序抛出SyntaxError

时间:2014-03-28 09:59:35

标签: c# linq cassandra datastax

尝试使用Datastax c#driver创建表时遇到异常。这是一些代码:

class Program
{
    static void Main()
    {
        using (var cluster = Cluster.Builder().AddContactPoints("localhost").Build())
        using (var session = cluster.Connect())
        {
            session.CreateKeyspaceIfNotExists("Test");
            session.ChangeKeyspace("Test");

            session.GetTable<Foo>().CreateIfNotExists();
        }

        Console.ReadLine();
    }

    [Table("foos")]
    private class Foo
    {
        [ClusteringKey(1)]
        [Column("fooId")]
        public string FooId { get; set; }
    }
}

当我执行这段代码时,我得到'SyntaxtError:第1:46行在输入处没有可行的选择',''在这一行:

session.GetTable<Foo>().CreateIfNotExists();

如果我用这样的东西替换线,它就可以正常工作:

session.Execute(@"CREATE TABLE IF NOT EXISTS foos (fooId varchar PRIMARY KEY);");

我正在使用CassandraCSharpDriver v1.0.4(来自nuget)和本地Cassandra v2.0.6。

我做错了吗?我无法找到此错误的原因,任何帮助将不胜感激!

0 个答案:

没有答案