2016-09-22 62 views
1

我一直在嘗試使用Cassandra的Datastax C#驅動程序中的屬性來獲取測試對象映射。 有由DataStax中的ClusterKey屬性C#驅動程序

CREATE TABLE test.omfieldtest (
    integer int, 
    bigint varint, 
    stringtext text, 
    universal uuid, 
    bool boolean, 
    singleprecision float, 
    variableprecision decimal, 
    PRIMARY KEY ((integer), bigint, stringtext, universal) 
); 

限定在卡桑德拉一個表,則我有一個裝飾C#類映射到該表

[Table("test.omfieldtest")] 
    public class MappingTest 
    { 
     [PartitionKey] 
     public Int32 integer; 
     [ClusteringKey(0, SortOrder.Ascending, Name = "bigint")] 
     public Int64 bigint; 
     [ClusteringKey(1, SortOrder.Ascending, Name = "stringtext")] 
     public string stringVal; 
     [ClusteringKey(2, SortOrder.Ascending, Name = "universal")] 
     public Guid universal; 
     [Column("bool")] 
     public bool boolVal; 
     [Column("singleprecision")] 
     public Single singlePrecisionVal; 
     [Column("variableprecision")] 
     public decimal variablePrecisionVal; 
    } 

在使用mapper.Insert<MappingTest>,一個InvalidQueryException拋出與「未知的問題標識符stringval「。如果我更改屬性的名稱以匹配列名稱,則無論ClusterKey的Name屬性設置爲什麼,一切正常。

那麼爲ClusterKey屬性指定Name屬性的目的甚至是效果如何?

+0

您是否正在使用'Cassandra.Mapping.Attributes'命名空間下的屬性或已棄用的Linq屬性? – jorgebg

+0

它們來自'Cassandra.Mapping.Attributes'命名空間。 –

回答

相關問題