--- lang: ja-jp breaks: true --- # ASP.NET Core で Entity Framework を使用する Azure SQL Server(SQL認証) 2023-06-29 > .NET と Entity Framework Core を使用して Azure SQL Database に接続してクエリを実行する > https://learn.microsoft.com/ja-jp/azure/azure-sql/database/azure-sql-dotnet-entity-framework-core-quickstart?view=azuresql&tabs=dotnet-cli%2Cservice-connector%2Cportal ## Azure SQL Server(SQL認証) * SQL Serverを使用してサーバを作成する。  * パブリックアクセスで、アクセス元を制限する。  * SQL認証を許可する。  ### *.csproj ```xml= ・・・ <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.8" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.8"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.8" /> </ItemGroup> ・・・ ``` ### appsettings.Development.json ```json= { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, /* Azure SQL Database に接続するコードを追加する */ "ConnectionStrings": { "AZURE_SQL_CONNECTIONSTRING": "Server=xxxxxxxxxxxxx.database.windows.net; Database=passwordlessdb; UID=XXXXXXXX; PWD=XXXXXXXX; Encrypt=True; TrustServerCertificate=True; MultipleActiveResultSets=true; Connect Timeout=10; Max Pool Size=1000; Application Name=DotNetSQL;" } } ``` ### DbContext ```csharp= public class Person { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } } public class PersonDbContext : DbContext { public PersonDbContext(DbContextOptions<PersonDbContext> options) : base(options) { } public DbSet<Person> Person { get; set; } } ``` ### Program.cs ```csharp= ・・・ var builder = WebApplication.CreateBuilder(args); ・・・ // Azure SQL Database に接続するコードを追加する 開始 var connection = String.Empty; if (builder.Environment.IsDevelopment()) { builder.Configuration.AddEnvironmentVariables().AddJsonFile("appsettings.Development.json"); connection = builder.Configuration.GetConnectionString("AZURE_SQL_CONNECTIONSTRING"); } else { connection = Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING"); } builder.Services.AddDbContext<PersonDbContext>(options => { options.UseSqlServer(connection); } ); // Azure SQL Database に接続するコードを追加する 終了 var app = builder.Build(); ・・・ ``` ### `Migrations`の生成 ```shell= dotnet ef migrations add InitialCreate ```  ### テーブルの作成 ```shell= dotnet ef database update ```  ### テーブルの削除 ```shell= dotnet ef database drop ``` 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up