2

如何查询我的 Windows Azure 存储,例如:

(SELECT Name FROM User WEHRE DeviceID = App.Current.DeviceID)  

这个试过了,好像不行

var Name = await App.MobileService.GetTable<User>()
    .Select(User => User.Name)
    .Where(User => User.DeviceID == App.Current.DeviceID); 

但我可以根据 id 查询表

 var Name = await App.MobileService.GetTable<User>().LookupAsync(id);

是否有类似的方法可以基于字符串(例如电话设备 ID)而不是整数 id 来查询表?

用户类

public class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string DeviceID { get; set; }
    }
4

1 回答 1

2

Where方法的结果仍然是一个查询对象,它还不是对象本身。您需要调用其中一个ToListAsyncToEnumerableAsync来实际提出请求:

var Name = (await App.MobileService.GetTable<User>()
    .Where(User => User.DeviceID == App.Current.DeviceID)
    .Select(User => User.Name)
    .ToEnumerableAsync()).FirstOrDefault();
于 2013-07-07T14:22:40.690 回答