Comment utiliser Entity Framework pour faire fonctionner PostgreSQL dans .NET Core ?

青灯夜游
Libérer: 2018-10-20 17:49:56
avant
6305 Les gens l'ont consulté

Le contenu de cet article est de présenter comment utiliser Entity Framework pour faire fonctionner PostgreSQL dans .NET Core. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Entity Framework est nommé Entity Framework Core dans .NET Core. Bien qu'il soit généralement utilisé pour effectuer des opérations de données sur les bases de données SQL Server, il prend en fait en charge d'autres bases de données. Nous prenons ici PostgreSQL comme exemple.

PostgreSQL

PostgreSQL peut être installé de deux manières : système natif et Docker.

  • Officiel

  • Docker

Package

dans l'ingénierie des applications Ajouter pertinent citations.
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL

Entity

Écrivez deux classes d'entités pour mapper la table User et la table Order.

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()}";
    }
}
Copier après la connexion
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}";
    }
}
Copier après la connexion

DbContext

Créez la classe DbContext nécessaire et transmettez les paramètres requis pour vous connecter à PostgreSQL.

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");
    }
}
Copier après la connexion

Seeder

Construit une classe d'assistance pour initialiser la base de données.

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();
    }
}
Copier après la connexion

Test

La première étape du programme de test consiste à appeler la classe auxiliaire qui génère les données. La deuxième étape consiste à interroger les données dans la table de données et à les afficher dans le. console.

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);
        });
    }
}
Copier après la connexion

Voici les résultats affichés :
Comment utiliser Entity Framework pour faire fonctionner PostgreSQL dans .NET Core ?

Si le programme s'exécute normalement, le tableau de données généré doit être visible dans la base de données :
Comment utiliser Entity Framework pour faire fonctionner PostgreSQL dans .NET Core ?

Comment utiliser Entity Framework pour faire fonctionner PostgreSQL dans .NET Core ?

Comment utiliser Entity Framework pour faire fonctionner PostgreSQL dans .NET Core ?

En regardant le script de génération de la table de données, vous pouvez voir que les relations entre les champs et les tables sont automatiquement générées via Entity Cadre.
Comment utiliser Entity Framework pour faire fonctionner PostgreSQL dans .NET Core ?

Comment utiliser Entity Framework pour faire fonctionner PostgreSQL dans .NET Core ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!