【发布时间】:2016-06-16 11:13:17
【问题描述】:
我对为 asp.net 编写控制器非常陌生,并且我试图返回 IQueryable,但我似乎无法获得返回内容的调用。
这是我的控制器:
// GET: api/RumsaRooms
[EnableQuery]
public IQueryable<RumsaRoom> GetRooms()
{
return db.Rooms;
}
这是我的客户电话:
public async Task<IQueryable<T>> GetAllOf<T>()
{
var typeName = typeof(T).Name;
var result = await _client.GetAsync($"api/{typeName}");
if (!result.IsSuccessStatusCode)
{
var exception = await result.Content.ReadAsStringAsync();
}
//This method never returns
var rooms = await result.Content.ReadAsAsync<IQueryable<T>>();
return rooms;
}
我在连接字符串中启用了多个活动结果集。 StatusCode 是 200。
GetAllOf() 方法如下所示:
private async Task<bool> LoadEntities()
{
var rooms = (await _rumsaClient.GetAllOf<RumsaRoom>()).ToList();
RoomsCollection = new ObservableCollection<RumsaRoom>(rooms);
return true;
}
LoadAllEntities 在我的视图模型的构造函数中被调用。 如果我将调用更改为此它可以工作:
var rooms = await result.Content.ReadAsAsync<List<T>>();
是否不能将 ReadAsAsync 读取到 IQueryable 中?
谢谢
埃里克
【问题讨论】:
标签: c# entity-framework asp.net-web-api iqueryable