2017-09-17 4 views
0

これは以前に尋ねられましたが、良い答えが得られない可能性があります。 AFTERMVC apiコア2のToList()MVCの

using System; 
using System.Collections.Generic; 
using Dates.Api.Contacts; 
using Dates.Model; 
using System.Linq; 
using Microsoft.EntityFrameworkCore.Design; 

public IEnumerable<Customer> GetAll() 
    { 
     return _db.Customer.ToList(); 
    } 

'Customer' does not contain a definition for 'ToList' and no extension method 'ToList' accepting a first argument of type 'Customer' could be found (are you missing a using directive or an assembly reference?)

UPDATE: 私はすべてのお客様は、このエラーを取得するのリストを取得したい場合は、以下の私のコードを表示するには、すべてのメソッドを取得して、その後、私のインターフェイスを実装するMVCのCore 2でMVC APIを作成しますCOMMENT:お客様は、同じソリューション内の別のプロジェクトでは、最初のコードのためのクラスとしてある

UPDATE TWO:最初のシンクタンクはDbSetせずに利用カスタマーのために私のミスでした:)が、使用は、それがTHIを得るときsのエラー:

The type 'IQueryable<>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
I open myproject.API.csproj and these are my dependency

<ItemGroup> 
<PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" /> 
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.0" /> 
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0" /> 
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" /> 
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0" /> 
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.2" /> 
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" /> 
<PackageReference Include="System.Core" Version="3.5.21022.801" /> 

+3

を変更するのでしょうか? –

+0

'Customer'プロパティを含む' DbContext'の行を表示できますか? –

+1

私はまだあなたのコードの最初のコードを見たいと思います。 '_db.Customer'が本当に' DbSet 'であれば動作します。 – orhtej2

答えて

2

あなたCustomerDBSet<T>のサブクラスであるならば、私はスレッドをブロックし、一般的にhere

を参照して、メソッドの一覧を表示する唯一の非同期があるEF6を信じますIOへの同期呼び出しでは、それはベストプラクティスではないので、使用することをお勧めします。async/await

ですから、

public Task<IEnumerable<Customer>> GetAll() 
{ 
    return await _db.Customer.ToListAsync(); 
} 

を行うことができますしかし、それは、もちろん `Customer`があなたのデシベルのコンテキストに定義されてどのようにあなたのメソッドのシグネチャ

関連する問題