Tartalomjegyzék

< .Net Core

MariaDB elérése EntityFrameworkCore

Függőség telepítése

Szükségünk van az EntityFrameworkCore.MySql-re.

dotnet new console -o app01
cd app01
dotnet add package Pomelo.EntityFrameworkCore.MySql

Adatbázis

Követelmény: Lenni kell egy Id mezőnek, vagy egy olyan mezőnek amiben benne van az id szó. Lehet például BookId is.

Kisbetű, nagybetű nem számít a mezőnevek esetén. A táblanév esetén viszont igen. Mivel az C# nyelvben az osztály nevek és az adattagok nevének első betűje nagybetű, így ajánlott ehhez igazodni.

create.sql
create database konyvesbolt;
 
use konyvesbolt;
 
create table Books (
    Id int not null primary key auto_increment,
    Cim varchar(50),
    Szerzo varchar(50)
);

Entity és Context

Book.cs
public class Book {
    public int Id { get; set; }
    public string Cim { get; set; } = "";
    public string Szerzo { get; set; } = "";
}
Context.cs
using Microsoft.EntityFrameworkCore;
 
class Context : DbContext {
    string str = "Server=localhost; User ID=konyvesbolt; Password=titok; Database=konyvesbolt";
 
    public DbSet<Book> Books { get; set; }
 
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseMySql(str, ServerVersion.AutoDetect(str));
    }
 
}

Új könyv felvétele

Program.cs
Console.WriteLine("Új könyv felvétele");
 
var database = new Context();
var book = new Book { Cim = "Váratás", Szerzo = "Csengő" };
 
database.Books.Add(book);
database.SaveChanges();

Lekérdezés

Program.cs
Console.WriteLine("Könyvek lekérdezése...");
 
var context = new Context();
 
var books = context.Books
.ToList();
 
foreach(var book in books) {
    Console.WriteLine($"{book.Cim}:{book.Szerzo}");
}

Linkek