ASP.NETコアクイックスタート(第6章:ASP.NET MVCコア) - 研究ノート

コースリンク:http://video.jessetalk.cn/course/explore

良心もちろん、我々はハを学ぶために一緒に働きます!

タスク40:はじめに

タスク41:個人認証テンプレート

dotnet new mvc --help
Options:
  -au|--auth                      The type of authentication to use
                                      None             - No authentication
                                      Individual       - Individual authentication
                                      IndividualB2C    - Individual authentication with Azure AD B2C
                                      SingleOrg        - Organizational authentication for a single tenant
                                      MultiOrg         - Organizational authentication for multiple tenants
                                      Windows          - Windows authentication
                                  Default: None
  -uld|--use-local-db             Whether to use LocalDB instead of SQLite. This option only applies if --auth Individual or --auth IndividualB2C is specified.      
                                  bool - Optional
                                  Default: false / (*) true

ターミナルはVScodeを解決する文字化け

chcp 65001
dotnet new mvc -au Individual -uld --name IdentitySample

デフォルトlocaldbによって作成され、アイデンティティ

appsettings.json

  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-IdentitySample-40453418-3C8F-43D7-94F8-BD1BD20BDD96;Trusted_Connection=True;MultipleActiveResultSets=true"
  }

Startup.cs

            services.AddDbContext<ApplicationDbContext>(options =>
                options.UseSqlServer(
                    Configuration.GetConnectionString("DefaultConnection")));
            services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
                .AddEntityFrameworkStores<ApplicationDbContext>();

データベースを初期化し、データベースファイルのデータ/移行フォルダに応じて更新されたデータベースを作成します

dotnet ef database update

エラー:

无法执行,因为找不到指定的命令或文件。
可能的原因包括:
  *你拼错了内置的 dotnet 命令。
  *你打算执行 .NET Core 程序,但 dotnet-ef 不存在。
  *你打算运行全局工具,但在路径上找不到名称前缀为 dotnet 的可执行文件。

stackoverflowの溶液を探します:

https://stackoverflow.com/questions/45091909/dotnet-ef-database-update-no-executable-found-matching-command-dotnet-ef?r=SearchResults

ItemGroupのcsprojファイル内の参照を追加します。

    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0-preview2-final" />
dotnet restore
dotnet ef database update
dotnet run

HTTPSをご覧ください:// localhostを:5001

登録ページを入力して[登録]をクリックします

メールボックスのパスワードを入力します。

成功した着陸

管理アカウントにメールボックスをクリックしてください

SSMS介して接続されたLocaldb

dotnet run

オープンPowerShellはパイプ名のインスタンスを取得します。

& 'C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe' info mssqllocaldb

中国PowerShellはゴミ問題を解決するため、UTF-8をご確認ください

一例として、接続パイプの名前localdb

タスク42:EFコアの移行

新規データベース

前に列を追加します

モデルのフォルダに新しいApplicationUser.cs

using System;
using Microsoft.AspNetCore.Identity;

namespace IdentitySample.Models
{
    public class ApplicationUser : IdentityUser
    {
        public string NewColumn{get;set;}
    }
}
dotnet ef migrations add AddNewColumn

自動的に生成されたファイル

dotnet ef database update

首尾リフレッシュデータベースを実行した後、データベースがNewColumn以上で見ることができます

ApplicationUser.csの新住所

        public string Address{get;set;}
dotnet ef migrations add AddAddress
dotnet ef database update

首尾リフレッシュデータベースを実行した後、データベースが複数のアドレスで見ることができます

データベースのロールバック

dotnet ef database update AddNewColumn

首尾リフレッシュデータベースを実行した後、データベースのアドレスがなくなっ

dotnet ef migrations remove

正常に削除AddAddress.csとAddAddress.Designer.csファイルを実行した後

SQLスクリプトコマンドを生成します

dotnet ef migrations script

データベースのうちコピーが実行されてもよいの後

クリエイティブコモンズライセンス

この作品は、ある非営利- -同一条件許諾4.0の国際ライセンス契約クリエイティブ・コモンズのライセンスのために。

、商業目的のために使用してはならない、紙のライセンス変更に基づいて、同じ作業を公開するようにしてください:、、使用を転載再投稿、しかし鄭Ziming(http://www.cnblogs.com/MingsonZheng/リンクを含む)によって署名された文書を保管してくださいへようこそ。

ご質問があれば、私に連絡してください([email protected])。

おすすめ

転載: www.cnblogs.com/MingsonZheng/p/11623815.html