.NETのコアWEBAPI + EF

開発ツールVs2017 + MSsqlsever

VS2017、新しいWebプロジェクトを開きます。

 

[OK]をクリックし、プロジェクトをビルドし、プロジェクト内のモデルクラスTodoItemの増加をモデルフォルダを増やします

1  パブリック クラスTodoItem
 2      {
 3          公共 長いイド{ 得ますセット; }
 4          パブリック 文字列名前{ 得ますセット; }
 5          パブリック ブール IsComplete { 得ますセット; }
 6  
7      }
コードの表示

データベースと対話するためのモデルのクラスTodoContextの増加、

1つの  パブリック クラスTodoContext:DbContext
 2      {
 3          公共 TodoContext(DbContextOptions <TodoContext> オプション)
 4ベース(オプション)
 5          {
 6          }
 7  
8          公共 DbSet <TodoItem> TodoItems { 得ますセット; }
 9      }
コードの表示

オープンappsettings.json、構成データベースの接続文字列

{
   " ログ" :{
     " ログレベル" :{
       " デフォルト"" 警告" 
    } 
  }、
  " AllowedHosts "" * " " のconnectionStrings " :{
     " TodoContext "" サーバー=;データベース= WebApiDemo; Trusted_Connection =真; MultipleActiveResultSets = TRUE " 
  } 

}

スタートアップでは、データベースコンテキストに登録方法のConfigureServices登録サービスを見つけるとのSQLServerへのデータベースを指定します

 公共 のボイドConfigureServices(IServiceCollectionサービス)
        { 
            services.AddDbContext <Models.TodoContext>(OPT => 
             opt.UseSqlServer(Configuration.GetConnectionString(" TodoContext ")));  // 使用のSQLServer数据库

            services.AddMvc()SetCompatibilityVersion(CompatibilityVersion.Version_2_2)。
        }

このように、基本的な構成は、ツールを使用して、データベースを作成するためにcodefirst EFの方法で完了しました、とされてきた - 「NuGetパッケージマネージャ - 」パッケージマネージャコンソールコンソールを起動します

次のようにコマンドは次のとおりです。

アドオンの移行初期
の更新、データベース

  今、設定されたデータベースが完成します

 

次はコントロールでTodoControllerフォルダを追加します 

[ルート( "API / [コントローラー]")] 
    [ApiController] 
    パブリッククラスTodoController:ControllerBase 
    { 
        プライベート読み取り専用TodoContextの_context。

        公共TodoController(TodoContextコンテキスト)
        { 
            _context =文脈。

            もし(_context.TodoItems.Count()== 0)
            { 
                //コレクションは、空の場合、新しいTodoItemを作成します。
                あなたはすべてのTodoItemsを削除することはできませんを意味している//。
                _context.TodoItems.Add(新しいTodoItem {NAME = "アイテム1"})。
                _context.SaveChanges()。
            } 
        } 

        // GET:API /藤堂
        [HTTPGET]
        タスク<のActionResult <IEnumerableを<TodoItem非同期公衆>>> GetTodoItems()
        { 
            リターン)(_context.TodoItems.ToListAsyncを待ちます。
        } 

        // GET:API /藤堂/ 5 
        [HTTPGET( "{ID}")] 
        パブリックタスク非同期<のActionResult <TodoItem >> GetTodoItem(長いID)
        { 
            VARのtodoItemは= _context.TodoItems.FindAsync(ID)を待ちます。

            IF(todoItem == NULL)
            { 
                )(NOTFOUNDを返します。
            } 

            戻りtodoItem。
        } 
    }

  この時点で、プロジェクトが設定されている全APIが完了すると、我々は今、OKを確認することができます

その後、私たちは共通のポストを話し、取得、我々は成功した戻り値となっている、APIを呼び出して参照し、パラメータ渡す事

おすすめ

転載: www.cnblogs.com/NotLaterforever/p/11480341.html