이 문서에서는 Entity Framework를 사용하여 .NET Core에서 PostgreSQL을 작동하는 방법을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Entity Framework는 .NET Core에서 Entity Framework Core로 명명됩니다. 일반적으로 SQL Server 데이터베이스에서 데이터 작업을 수행하는 데 사용되지만 실제로는 다른 데이터베이스를 지원합니다. 여기서는 PostgreSQL을 예로 들어 보겠습니다.
PostgreSQL은 기본 시스템과 Docker의 두 가지 방법으로 설치할 수 있습니다.
Official
Docker
애플리케이션 프로젝트에 관련 참조를 추가하세요. dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
User 테이블과 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()}"; } }
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}"; } }
필요한 DbContext 클래스를 빌드하고 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"); } }
데이터베이스 초기화를 위한 도우미 클래스를 빌드합니다.
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를 통해 자동으로 생성되는 것을 볼 수 있습니다.
위 내용은 Entity Framework를 사용하여 .NET Core에서 PostgreSQL을 작동하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!