我尝试使用WHERE子句查询记录,但Datastax和cassandra网站没有我想要做的信息。我想查询一个列为 list<frozen<phone>>
名为phones的列的记录。所以I.m使用cqlsh来查询它,但我找不到合适的文档或关键字。
这是我创建的UDT 创建类型casstestrun.phone(单元号文本,传真号码文本,文本文本);
这是我创建的表格
create table casstestrun.customer (cid uuid, cname text, phones list<frozen<phone>>);
所以,我的问题是如何从list<frozen<udt>>
查询记录?
就像这样来自casstestrun.customer的select *,其中phones.celnumber =&#39; 222-222-2222&#39;;
答案 0 :(得分:0)
有关如何处理user-defined types (UDT) in the documentation的信息。
您应该在UDT和C#类之间创建一次映射。
session.UserDefinedTypes.Define(
UdtMap.For<Phone>()
);
然后,您可以检索和更新包含phone
值的行:
var row = session.Execute(statement).First();
var phones = row.GetValue<IEnumerable<Phone>>("phones");