EntityFramework Core로 데이터베이스 생성하기

맛없는콩두유·2022년 10월 22일
0
post-thumbnail
post-custom-banner
  1. EntityFramework Core 설치

  1. Model 생성
  • User.cs
using System.ComponentModel.DataAnnotations;

namespace AspnetNote.MVC6.Models
{
    public class User
    {
        /// <summary>
        /// 사용자 번호
        /// </summary>
        [Key] // PK 설정 어노테이션
        public int UserNo { get; set; }

        /// <summary>
        /// 사용자 이름
        /// </summary>
        [Required] // Not Null 설정
        public string UseName { get; set; }

        /// <summary>
        /// 사용자 ID
        /// </summary>
        [Required] // Not Null 설정
        public string UserId { get; set; }

        /// <summary>
        /// 사용자 비밀번호
        /// </summary>
        [Required] // Not Null 설정
        public string UserPassword { get; set; }
    }
}

  • Note.cs
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace AspnetNote.MVC6.Models
{
    public class Note
    {
        /// <summary>
        /// 게시물 번호
        /// </summary>
        [Key]
        public int NoteNo { get; set; }

        /// <summary>
        /// 게시물 제목
        /// </summary>
        [Required]
        public string NoteTitle { get; set; }

        /// <summary>
        /// 게시물 내용
        /// </summary>
        [Required]
        public string NoteContents { get; set; }

        /// <summary>
        /// 작성자 번호
        /// </summary>
        [Required]
        public int UserNo { get; set; }

        [ForeignKey("UserNo")]
        public virtual User User { get; set; }
    }
}
  1. DbContext 생성 -> Table 생성할 수 있는 코드를 작성
  • AspnetNoteDbContext.cs
using AspnetNote.MVC6.Models;
using Microsoft.EntityFrameworkCore;

namespace AspnetNote.MVC6.DataContext
{
    public class AspnetNoteDbContext : DbContext // : (상속) 
    {
        public DbSet<User> Users { get; set; }

        public DbSet<Note> Notes { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(@"Server=localhost;Database=AspnetNoteDb;User Id=sa;Password=sa1234;");
        }
    }
}
  1. DbContext -> 실제 테이블 생성
  • 패키지 관리자 콘솔
add-migration FirstMigration
update-database

profile
하루하루 기록하기!
post-custom-banner

0개의 댓글