C# Azure移动服务1.0:MobileServiceTableSerializer不见了,什么';还有别的选择吗?
这两个问题混合在一起: 此代码:C# Azure移动服务1.0:MobileServiceTableSerializer不见了,什么';还有别的选择吗?,c#,.net,windows-phone-8,azure-mobile-services,C#,.net,Windows Phone 8,Azure Mobile Services,这两个问题混合在一起: 此代码: public static class Extensions { public async static Task<List<T>> In<T>(this IMobileServiceTable<T> table, List<int> ids) { var query = new StringBuilder("$filter=("); for (int i = 0; i &l
public static class Extensions
{
public async static Task<List<T>> In<T>(this IMobileServiceTable<T> table,
List<int> ids)
{
var query = new StringBuilder("$filter=(");
for (int i = 0; i < ids.Count; i++)
{
query.AppendFormat("id eq {0}", ids[i]); //don't forget to url escape
and 'quote' strings
if (i < ids.Count - 1)
{
query.Append(" or ");
}
}
query.Append(")");
var list = await table.ReadAsync(query.ToString());
var items = list.Select(i =>
MobileServiceTableSerializer.Deserialize<T>(i)).ToList();
return items;
}
}
公共静态类扩展
{
(此IMobileServiceTable表中的)公共异步静态任务,
列表ID)
{
var query=newstringbuilder(“$filter=(”);
for(int i=0;i
MobileServiceTableSerializer.Deserialize(i)).ToList();
退货项目;
}
}
随着MobileServiceTableSerializer的消失,新的MobileServices 1.0不再适用。有人能推荐一个可以做同样事情的替代方案吗?编辑:找到了一个更好的解决方案,列表。包含现在可以使用的内容,因此您可以使用以下内容:
List<int> ids = new List() { 1, 2 };
var items = await yourTable.Where(x => ids.Contains(x.Id)).ToCollectionAsync();
List id=newlist(){1,2};
var items=wait yourTable.Where(x=>ids.Contains(x.Id)).ToCollectionAsync();
在这里,这是有效的,只是测试了一下。然而,可能有更好的方法
谢谢你的代码,可能会派上用场:)
此IMobileServiceTable表中的公共异步静态任务,
列表ID)
{
var query=newstringbuilder(“$filter=(”);
for(int i=0;i
public async static Task<List<T>> In<T>(this IMobileServiceTable<T> table,
List<int> ids)
{
var query = new StringBuilder("$filter=(");
for (int i = 0; i < ids.Count; i++)
{
query.AppendFormat("id eq {0}", ids[i]);
if (i < ids.Count - 1)
{
query.Append(" or ");
}
}
query.Append(")");
var list = await table.ReadAsync(query.ToString());
List<T> items = new List<T>();
foreach (var item in list)
{
items.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<T>(item.ToString()));
}
return items;
}