簡體   English   中英

如何使用實體框架復雜類型創建 IQueryable 結果

[英]How to create IQueryable results using Entity Framework complex types

我有以下服務操作,其中 DataDTO 是復雜類型(通過實體框架模型瀏覽器添加):

[WebGet]
public IQueryable<DataDTO> GetInformation(string id)
{
 var resultList= (from data in context.Data
                  where data.ID ==id
                  select new
                  {
                   DataID = data.ID,
                   Name = data.Name,
                   Group = data.Group
                  })
               .ToList()
               .Select(item =>
                  new DataDTO
                  {
                    ID = item.ID,
                    Name= item.Name,
                    Group = item.Group
                  });
 return resultList.AsQueryable();
}

當我使用客戶端訪問它時,出現異常:

查詢選項 $orderby、$inlinecount、$skip 和 $top 不能應用於請求的資源。

所以添加 AsQueryable 並不能解決問題。

考慮到復雜類型的使用,我應該如何修改查詢以返回 IQueryable?

解決方案 1:在服務操作方法上添加 [SingleResult] 屬性,讓 WCF DS 知道 IQueryable 只會返回單個值

解決方案 2:WCF OData 服務方法不支持查詢選項。嘗試通過將 DataSource.paginate 選項設置為 false 來禁用數據源的分頁

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM