什么 C# 类型相当于 Datastax Cassandra C# 驱动程序中的 timeuuid?
我正在编写一个简单的用户跟踪服务,并希望访问最新的用户历史记录。我正在尝试创建一个与此创建语句等效的表:
CREATE TABLE IF NOT EXISTS user_history (
user_id text,
event_type text,
create_date timeuuid,
item_id text,
PRIMARY KEY ((user_id, event_type), create_date)
);
我做了以下课程:
[AllowFiltering]
[Table("user_history")]
public class UserHistory
{
[PartitionKey(1)]
[Column("user_id")]
public string UserID;
[PartitionKey(2)]
[Column("event_type")]
public string EventType;
[ClusteringKey(1)]
[Column("create_date")]
public DateTime CreateDate { get; set; }
[Column("item_id")]
public string ItemID;
}
我正在使用这个语句在 Cassandra 中创建表:
var table = Session.GetTable<UserHistory>();
table.CreateIfNotExists();
但这给了我下表:
CREATE TABLE user_history (
user_id text,
event_type text,
create_date timestamp,
item_id text,
PRIMARY KEY ((user_id, event_type), create_date)
)
正如你所看到的,类型create_date
是timestamp
而不是timeuuid
。
我试过Guid
而不是DateTime
,但这给了uuid
我打电话的时候.CreateIfNotExists()
。
我应该使用原始 CQL3 来代替并显式创建表吗Guid
?我想这将允许我从/向 Cassandra读写(使用在 FluentCassandra 项目中找到的)?!(回想一下:我正在使用 Datastax 驱动程序)DateTime
CreateDate
timeuuid
GuidGenerator