簡體   English   中英

system.linq.IQueryable 不包含“To”的定義

[英]system.linq.IQueryable does not contain a definition for 'To'

我在此代碼中收到錯誤消息:

這是代碼:

  public IHttpActionResult  Get()
    {
        var books = unit.Books.All;

        var response = books.To<BookDto>();

        return Ok(response);
    }

就在books.To()上,我收到了這個錯誤:

system.linq.IQueryable 不包含“To”的定義和
可以找到接受類型為“system.linq.IQueryable”的第一個參數的擴展方法“to”。 您是否缺少 using 指令或程序集引用?

我看着這個,但沒有幫助。

IQueryable<T> 不包含“包含”的定義,也沒有擴展方法“包含”

我有使用 System.Data.Entity; 而且我已經從 NuGet 安裝了 EF,但是作為鏈接中的解決方案,我無法獲得“QueryableExtensions”

 using System.Data.Entity.QueryableExtensions

QueryableExtensions似乎不包含任何名為To函數,我也從未聽說過這種方法,所以我懷疑您在這方面大錯特錯。

您可能需要以下其中一項:

  1. var response = books.ToList(); 獲取書籍列表

  2. var response = books.Cast<BookDto>(); books每個對象投射到BookDto

  3. var response = books.Select(book => new BookDto(book)); 假設有一個合適的構造函數,從books構造一系列BookDto對象。

IQueryable.To<T>不是一回事。 如果您嘗試轉換為其他類型,則可能需要使用Select ,例如。

var response = books.Select(book => new BookDto()); //Insert transformation logic into the new object initialization.

如果您想列出一個清單,那么只需執行以下操作:

var response = books.ToList();

暫無
暫無

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

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