[EF Core] ASP.NET Core & EF Core CRUD 구현
- 웹 프로그래밍/ASP.NET & ASP.NET Core
- 2022. 4. 13. 18:08
목적
- 앞서 ASP.NET Core Ef Core 에서 EF Core 사용하여 PostrgeSQL 에 데이터 저장까지 했었습니다.
- 추가로, 특정 데이터 Update, Delete 까지 되도록 코드 추가하였습니다.
DataSeeder.cs 코드 내용 추가
- DataSeeder.cs 내에 추가로 Udpate, Delete 하는 메서드를 추가 하였습니다.
- 참고로, Delete 할 때 Actor 테이블이 Movie 테이블과 1:N 형태로 관계가 맺어져 있습니다.
- 때문에 Movie, Acotr 2개의 테이블은 현재 ID 컬럼이 PrimaryKey, ForeignKey 관계이기 때문에 상위 테이블을 직접적으로 삭제 하지 못하고 하위 테이블인 Actor 를 포함하여 같이 삭제해야 합니다.
- 이때는 Linq 에서 Inclue 메서드를 사용하면 됩니다.
private static void UpdateData(MovieDataContext context)
{
var movie = context.Movies.FirstOrDefault(x => x.Title == "The ShawshRedemption");
movie.Title = "태극기 휘날리며";
movie.Year = 2002;
movie.Summary = "6.25 전쟁 비극 속, 형제애";
movie.Actors = new List<Actor>
{
new Actor { Fullname = "장동건" },
new Actor { Fullname = "원빈" },
context.Movies.Update(movie);
context.SaveChanges();
}
}
private static void DeleteData(MovieDataContext context)
{
var movie = context.Movies.OrderBy(e => e.Id)
.Include(e => e.Actors)
.Where(e => e.Title == "The Godfather")
.First
context.Remove(movie);
context.SaveChanges();
}
728x90
'웹 프로그래밍 > ASP.NET & ASP.NET Core' 카테고리의 다른 글
[ASP.NET Core] Dependency Injection 예제 (0) | 2022.04.15 |
---|---|
[ASP.NET Core] ASP.NET Core Solution 구조 (0) | 2022.04.15 |
[ASP.NET Core] 의존성 역전 원칙 예제(DIP) (0) | 2022.04.14 |
[ASP.NET Core] 의존성 주입(Dependency Injection) 이란? (0) | 2022.04.14 |
[EF Core] ASP.NET Core & EF Core(Npgsql & PostgreSQL) (0) | 2022.04.12 |
이 글을 공유하기