Datastax C# ドライバーを使用して、timeuuid データ型の CQL クエリで「より大きい」または「より小さい」WHERE 条件を作成するにはどうすればよいですか?
タイムスタンプでソートされたCookie履歴をtimeuuidとして保存するためのテーブルがCassandraにあります。
CREATE TABLE cookie_history (
cookie_id text,
create_date timeuuid,
item_id text,
PRIMARY KEY ((cookie_id), create_date)
);
テーブルは、Datastax C# Cassandra ドライバーを使用してクエリを実行するために、C# クラスを使用してマップされます。
[Table("cookie_history")]
public class CookieHistoryDataEntry
{
[PartitionKey(1)]
[Column("cookie_id")]
public string CookieID;
[ClusteringKey(1)]
[Column("create_date")]
public Guid CreateDate;
[Column("item_id")]
public string ItemID;
}
特定の Cookie について、特定のタイム スタンプの後のすべてのアイテムが必要です。
var myTimeUuid = new Guid("5812e74d-ba49-11e3-8d27-27303e6a4831");
var table = session.GetTable<CookieHistoryDataEntry>();
var query = table.Where(x => x.CookieID == myCookieId
&& x.CreateDate > myTimeUuid);
しかし、これ (x.CreateDate > myTimeUuid) を実行すると、コンパイル時にエラーが発生します。
Operator '>' cannot be applied to operands of type 'System.Guid' and 'System.Guid'