Wie verwende ich Entity Framework, um PostgreSQL in .NET Core zu betreiben?

青灯夜游
Freigeben: 2018-10-20 17:49:56
nach vorne
6305 Leute haben es durchsucht

Der Inhalt dieses Artikels besteht darin, die Verwendung von Entity Framework zum Betrieb von PostgreSQL in .NET Core vorzustellen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Entity Framework heißt in .NET Core Entity Framework Core. Obwohl es im Allgemeinen zum Ausführen von Datenoperationen in SQL Server-Datenbanken verwendet wird, unterstützt es tatsächlich andere Datenbanken. Hier nehmen wir PostgreSQL als Beispiel.

PostgreSQL

PostgreSQL kann auf zwei Arten installiert werden: natives System und Docker.

  • Offizielles

  • Docker

Paket

in Application Engineering Relevant hinzufügen Zitate.
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL

Entity

Schreiben Sie zwei Entitätsklassen für die Zuordnung der Benutzertabelle und der Bestelltabelle.

public class User
{
    [Key]
    public int Id { get; set; }
    [Required]
    public string Name { get; set; }
    public virtual ICollection<Order> Orders { get; set; }

    public override string ToString()
    {
        var orders = new StringBuilder();
        foreach (var o in Orders)
        {
            orders.Append(o.ToString());
        }
        return $"UserId: {Id} Name: {Name} Orders: {orders.ToString()}";
    }
}
Nach dem Login kopieren
public class Order
{
    [Key]
    public int Id { get; set; }
    [Required]
    public int UserId { get; set; }
    [Required]
    public string Item { get; set; }
    [Required]
    public string Description { get; set; }
    public virtual User User { get; set; }

    public override string ToString()
    {
        return $"OrderId: {Id} Item: {Item} Descriptoin: {Description}";
    }
}
Nach dem Login kopieren

DbContext

Erstellen Sie die erforderliche DbContext-Klasse und übergeben Sie die Parameter, die für die Verbindung mit PostgreSQL erforderlich sind.

public class PurchaseDbContext : DbContext
{
    public DbSet<User> Users { get; set; }
    public DbSet<Order> Orders { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder builder)
    {
        builder.UseNpgsql("Host=localhost;Username=postgres;Password=random;Database=Purchase");
    }
}
Nach dem Login kopieren

Seeder

Konstruiert eine Hilfsklasse zum Initialisieren der Datenbank.

public class PurchaseDbContxtSeeder
{
    public static void Seed(PurchaseDbContext context)
    {
        context.Database.EnsureDeleted();
        context.Database.EnsureCreated();

        var users = new List<User>
            {
                new User { Name = "Tom" },
                new User { Name = "Mary" }
            };

        var orders = new List<Order>
            {
                new Order { User = users[0], Item = "cloth", Description = "handsome"},
                new Order {User = users[1], Item = "hat", Description = "red"},
                new Order {User = users[1], Item = "boot", Description = "black"}
            };

        context.Users.AddRange(users);
        context.Orders.AddRange(orders);

        context.SaveChanges();
    }
}
Nach dem Login kopieren

Test

Der erste Schritt des Testprogramms besteht darin, die Hilfsklasse aufzurufen, die Daten generiert. Der zweite Schritt besteht darin, die Daten in der Datentabelle abzufragen und in der Konsole anzuzeigen.

static void Main(string[] args)
{
    using (var context = new PurchaseDbContext())
    {
        PurchaseDbContxtSeeder.Seed(context);

        var users = context.Users.Include(u => u.Orders).ToList();
        users.ForEach(u =>
        {
            System.Console.WriteLine(u);
        });
    }
}
Nach dem Login kopieren

Die folgenden Ergebnisse werden angezeigt:
Wie verwende ich Entity Framework, um PostgreSQL in .NET Core zu betreiben?

Wenn das Programm normal läuft, sollte die generierte Datentabelle in der Datenbank sichtbar sein:
Wie verwende ich Entity Framework, um PostgreSQL in .NET Core zu betreiben?

Wie verwende ich Entity Framework, um PostgreSQL in .NET Core zu betreiben?

Wie verwende ich Entity Framework, um PostgreSQL in .NET Core zu betreiben?

Wenn Sie sich das Generierungsskript der Datentabelle ansehen, können Sie sehen, dass die Beziehungen zwischen Feldern und Tabellen automatisch durch Entity Framework generiert werden.
Wie verwende ich Entity Framework, um PostgreSQL in .NET Core zu betreiben?

Wie verwende ich Entity Framework, um PostgreSQL in .NET Core zu betreiben?

Das obige ist der detaillierte Inhalt vonWie verwende ich Entity Framework, um PostgreSQL in .NET Core zu betreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!