Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure移动服务1.0:MobileServiceTableSerializer不见了,什么';还有别的选择吗?_C#_.net_Windows Phone 8_Azure Mobile Services - Fatal编程技术网

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;
    }