この記事の内容は、Entity Frameworkを使用して.NET CoreでPostgreSQLを操作する方法を紹介するものです。一定の参考値があるので、困っている友人は参考にしていただければ幸いです。
Entity Framework は、.NET Core では Entity Framework Core と呼ばれます。一般的には SQL Server データベースでデータ操作を実行するために使用されますが、実際には他のデータベースもサポートしています。ここでは PostgreSQL を例に挙げます。
PostgreSQL は、ネイティブ システムと Docker の 2 つの方法でインストールできます。
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
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()}"; } }
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}"; } }
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"); } }
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(); } }
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); }); } }
以上がEntity Framework を使用して .NET Core で PostgreSQL を操作するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。