Я использую Azure Table Storage и у меня есть записи, как это:Azure хранения таблицы запрашивая RowKey заданной длины
PK RK TypeOfSerializedObject
foo_0 bar_0 type1
foo_0 bar_0_var_1 type2
Есть ли решение, чтобы получить первую одну строку (bar_0) без другого (bar_0_var_1)? (В моем случае эти два ряда хранят сериализованный объект разных типов, и я не могу их извлечь).
Я пытаюсь сделать что-то вроде этого:
IQueryable<type1> type1ent = from t in context.CreateQuery<type1>(tableName)
where t.PartitionKey == String.Format("foo_{0:0}", arg1)
&& t.RowKey.CompareTo("bar_0") >= 0
&& t.RowKey.CompareTo("bar_9") <= 0
select t;
И мне нужно, чтобы включить некоторые опции запроса, как «t.RowKey.Length == 5», но это недопустимо.
У вас есть идеи?
EDIT:
Наконец я решил изменить структуру данных что-то вроде этого:
PK RK TypeOfSerializedObject
foo_0 bar_0 type1
foo_0 var_1 type2
foo_0 var_2 type3
foo_0 var_3 type4
foo_0 var_4 type5
etc.
Ваш первый запрос для получения данных в порядке. Мне непонятно, почему вы извлекаете одни и те же данные во второй раз. –
У меня есть два типа данных в хранилище: foo_0 bar_0 имеет тип «Type1» foo_0 bar_0_var_1 имеет тип «type2» (я буду править 1-й пост, чтобы уточнить, что). Поэтому я не могу извлечь обе записи из первого запроса. Итак, я решил извлечь только 1-й запрос из 1-го запроса, проверить, хорошо ли это длина, и если да, сделайте это снова из запроса с уверенностью в правильном типе. –