2016-10-24 3 views
0

AspNetUserClaimsからデータを取得しようとすると「このDbContextに対してデータベースプロバイダが設定されていません」という例外が発生します。私は、私がしたいことがAspNetUserClaimsのためのテーブルを作ることがなぜ起こるのか正確には分からないので、私は管理パネルでそれらを編集することができます。グローバルApplicationDbContextにアクセスできない


方法データベースに基づいてテーブルを生成する:

public IActionResult Claim() 
     { 
      var context = new ApplicationDbContext(); 
      var allclaims = context.UserClaims.ToList(); 
      var table = ""; 
      var cur = "odd"; 
      var i = 0; 
      foreach (var claim in allclaims) 
      { 
       cur = i % 2 != 0 ? "odd" : "even"; 
       table +=$"<tr role=\"row\" class=\"{cur}\">" + 
         "<td class=\"sorting_1\">{claim.UserId}</td>" + 
         $"<td>{claim.ClaimType}</td>" + 
         $"<td>{claim.ClaimValue}</td>" + 
         "</tr>"; 
      } 
      ViewBag.Table = table; 
      return View(); 
     } 

経験した誰もが、私はいくつかの助けの感謝となり、この問題を理解している場合。

答えて

0

実験的に修正されました。 AdminController:Controllerクラスに次のコードを追加して問題を解決しました。これにより、_contextオブジェクトを使用してクエリを実行することができました。

private readonly ApplicationDbContext _context; 

public AdminController(ApplicationDbContext context) 
{ 
    _context = context; 
} 
関連する問題