oktatas:programozas:csharp:dotnetcore:web_api:sqlite
Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalonElőző változatKövetkező változat | Előző változat | ||
oktatas:programozas:csharp:dotnetcore:web_api:sqlite [2022/03/19 01:07] – [Az adatbázisfájl a projekt alapkönyvtárába] admin | oktatas:programozas:csharp:dotnetcore:web_api:sqlite [2024/03/18 11:16] (aktuális) – [.Net Core Web SQLite] admin | ||
---|---|---|---|
Sor 4: | Sor 4: | ||
* **Szerző: | * **Szerző: | ||
- | * Copyright (c) Sallai András, 2022 | + | * Copyright (c) 2022, Sallai András |
+ | * Szerkesztve: | ||
* Licenc: [[https:// | * Licenc: [[https:// | ||
* Web: https:// | * Web: https:// | ||
Sor 268: | Sor 269: | ||
Így nincs szükség a Microsoft.Extensions.PlatformAbstractions függőségre. | Így nincs szükség a Microsoft.Extensions.PlatformAbstractions függőségre. | ||
+ | ===== Példa migráció nélkül ===== | ||
+ | |||
+ | ==== Projekt létrehozása ==== | ||
+ | |||
+ | dotnet new webapi -n sqlitepelda | ||
+ | code -r sqlitepelda | ||
+ | |||
+ | |||
+ | Ebben a példában nem használunk adatbázis migárciót. | ||
+ | ==== Telepítés ==== | ||
+ | |||
+ | dotnet add package Microsoft.EntityFrameworkCore.Sqlite --version 7.0.10 | ||
+ | |||
+ | dotnet add package Microsoft.EntityFrameworkCore | ||
+ | |||
+ | ==== SQLite fájl neve ==== | ||
+ | |||
+ | <code javascript appsettings.json> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== SQLite adatbázis beépítése ==== | ||
+ | |||
+ | <code csharp Program.cs> | ||
+ | //... | ||
+ | builder.Services.AddDbContext< | ||
+ | var config = builder.Configuration; | ||
+ | var connectionString = config.GetConnectionString(" | ||
+ | options.UseSqlite($" | ||
+ | }); | ||
+ | //... | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Adatbázis és modell kötése ==== | ||
+ | |||
+ | <code csharp Data/ | ||
+ | using hello.Models; | ||
+ | using Microsoft.EntityFrameworkCore; | ||
+ | |||
+ | |||
+ | namespace hello.Data; | ||
+ | |||
+ | public class Database: DbContext | ||
+ | { | ||
+ | public DbSet< | ||
+ | public Database(DbContextOptions< | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Kontroller ==== | ||
+ | |||
+ | dotnet-aspnet-codegenerator controller -name EmployeeController -outDir Controllers -api | ||
+ | |||
+ | |||
+ | <code csharp Controllers/ | ||
+ | using hello.Data; | ||
+ | using hello.Models; | ||
+ | |||
+ | using Microsoft.AspNetCore.Mvc; | ||
+ | using Microsoft.EntityFrameworkCore; | ||
+ | |||
+ | namespace hello.Controllers | ||
+ | { | ||
+ | [Route(" | ||
+ | [ApiController] | ||
+ | public class EmployeeController : ControllerBase | ||
+ | { | ||
+ | private readonly Database _database; | ||
+ | public EmployeeController(Database database) | ||
+ | { | ||
+ | _database = database; | ||
+ | } | ||
+ | |||
+ | [HttpGet] | ||
+ | public async Task< | ||
+ | { | ||
+ | return Ok(await _database.Employees.ToListAsync()); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Model létrehozása ==== | ||
+ | |||
+ | <code csharp Models/ | ||
+ | namespace hello.Models; | ||
+ | |||
+ | public class Employee | ||
+ | { | ||
+ | public int Id { get; set; } | ||
+ | public string? Name { get; set; } | ||
+ | public string? City { get; set; } | ||
+ | public double Salary { get; set; } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Hozzuk létre az SQLite adatbázist ==== | ||
+ | |||
+ | Például sqlite3 shellben: | ||
+ | |||
+ | <code mysql> | ||
+ | create table employees ( | ||
+ | id integer not null primary key autoincrement, | ||
+ | name text, | ||
+ | city text, | ||
+ | Salary real | ||
+ | ); | ||
+ | </ | ||
+ | |||
+ | |||
+ | A Dotnet Core alkalmazás olyan néven keresi a táblát és a mezőneveket, | ||
+ | |||
+ | ==== Tesztelés ==== | ||
+ | |||
+ | HTTPie teszt: | ||
+ | |||
+ | http http:// | ||
oktatas/programozas/csharp/dotnetcore/web_api/sqlite.1647648440.txt.gz · Utolsó módosítás: 2022/03/19 01:07 szerkesztette: admin