728x90
반응형
1. Models 폴더 하위에 Category.cs 추가
prop입력 후 tab키 두번 치면 public int MyProperty { get; set; }가 자동 입력된다.
Id는 자동생성되는 pk이고, Name은 NOTNULL이므로 아래와 같이 DataAnnocation을 설정한다.
using System.ComponentModel.DataAnnotations;
namespace BulkyBook.Models
{
public class Category
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
public int DisplayOrder { get; set; }
public DateTime CreatedDatetime { get; set; } = DateTime.Now;
}
}
2. appsetting.json파일 connection string 설정
"ConnectionStrings": {
"DefaultConnection": "Server=;database=;uid=;pwd=;"
}
appsetting.json에 암호 및 기타 중요한 데이터를 저장하는 것은 보안에 취약하다,
Secret Manager를 사용해보자
참조문서 : https://bigexecution.tistory.com/101
3. DBContext 설정, Entity Framework Core, SqlServer Package 설치
DB context를 사용해 database와 연결할 수 있다.
BulkyBook\Data\ApplicationDbContext.cs
using BulkyBook.Models;
using Microsoft.EntityFrameworkCore;
namespace BulkyBook.Data
{
public class ApplicationDbContext :DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
}
public DbSet<Category> Categories { get; set; }
}
}
Context에 DbSet을 추가하면 EF Core의 모델에 포함되어 DB간 Entity Instance를 읽고 쓸 수 있으며, Migration을 통해 테이블을 만들 수 있다.
Service에 DbContext 종속성 주입
Program.cs
builder.Services.AddControllersWithViews();
builder.Services.AddDbContext<ApplicationDbContext>(option => option.UseSqlServer(
builder.Configuration.GetConnectionString("DefaultConnection")
));
var app = builder.Build();
4. DB에 Categories 테이블 생성 후, Controller에서 Categories 테이블 데이터리스트 가져오기
_db.Categories.ToList(); db에 접근 후 원하는 DbSet을 선택하고 ToList()를 하면 모든 레코드들이 list형태로 반환된다.
Select 쿼리를 작성할 필요가 없다.
using BulkyBook.Data;
using BulkyBook.Models;
using Microsoft.AspNetCore.Mvc;
namespace BulkyBook.Controllers
{
public class CategoryController : Controller
{
private readonly ApplicationDbContext _db;
public CategoryController(ApplicationDbContext db)
{
_db = db;
}
public IActionResult Index()
{
IEnumerable<Category> objCategoryList = _db.Categories.ToList();
return View(objCategoryList);
}
}
}
데이터 연동 확인 완료
728x90
반응형
'Entity Framework Core' 카테고리의 다른 글
ASP.NET Core] Entity Framework Core - Migrations (0) | 2023.05.24 |
---|---|
ASP.NET Core] Entity Framework Core - database model 구성방법 (0) | 2023.05.23 |
ASP.NET Core] Entity Framework Core란? (1) | 2023.05.23 |
ASP.NET Core] Entity Framework Core - SQL Queries (0) | 2023.05.09 |
ASP.NET Core] Entity Framework Core - 2. One To Many (0) | 2022.02.08 |
댓글