본문 바로가기
728x90
반응형

Entity Framework Core26

Entity Framework Core] Loading pattern Eager loading : 일찍 데이터 로딩 Lazy loading : 데이터 필요 직전에, 자동으로 데이터 로딩 Explicit loading : 매뉴얼대로 데이터 로딩 Eager loading entities IQuryable? orders = _context.Orders? .Include(o => o.Items); if (orders is null) { WriteLine("주문건 없음"); } foreach (Order o in orders) { WriteLine($"{o.OrderId}의 품목개수 : {o.Items.Count}"); } foreach 돌면서, OrderId와 Items의 개수를 가져온다. 가능한 이유는, Include 함수를 호출하여 eager loading할 수 있기 때문이다.. 2023. 7. 14.
Entity Framework Core] .AsNoTracking()이란? 기본적으로 EF Core는 모든 entity의 상태를 track한다. 이것은 메모리사용량을 높이고, 퍼포먼스를 떨어뜨린다. 특히, 다량의 데이터를 처리할때 말이다. 하지만 .AsNoTracking()을 사용하므로 EF Core의 tracking mechanism을 통과할 수 있다. 쿼리 실행속도가 빨라지고 메모리 overhead를 줄일 수 있다. .AsNoTracking()? EF Core에서 제공하는 함수로, database에서 data를 가져올 때 entities의 상태를 tracking하지 않는다. 기본적으로 EF Core를 사용하여 entity를 가져오면, context에 위해 상태값이 track된다. 따라서, EF Core는 entity 변경사항을 계속 track하고, SaveChanges()를.. 2023. 6. 9.
ASP.NET Core] Entity Framework Core - Migrations 출처 : https://code-maze.com/migrations-and-seed-data-efcore/ Database Schemas 관리 EF Core는 EF Core model과 database schema 사이에 sync를 유지하기 위해, 2가지 방법을 제공한다. 둘 중 선택하려면, EF Core model과 database schema 중 기준이 되는 것을 정해야 한다. EF Core model이 기준이라면, Migrations을 사용해야 한다. EF Core model을 수정하면서 database에도 동일하게 적용해야 한다. database schema가 기준이라면, Reverse Engineering을 사용한다. Migration이란? EF Core를 사용하여 database를 생성하고 업.. 2023. 5. 24.
ASP.NET Core] Entity Framework Core - database model 구성방법 출처 : https://code-maze.com/configuring-nonrelational-properties/ EF Core는 entity model을 만들기 위해 conventions, annotation attributes, Fluent API의 combination을 사용한다. 1. By Convention property type과 name에 따라서 database를 구성한다. 테이블 이름은 DbContext class의 DbSet property 이름과 동일하다고 여겨진다. 컬럼이름은 entity model class의 properties이름과 동일하다고 여겨진다. public class Student { public Guid StudentId { get; set; } public stri.. 2023. 5. 23.
ASP.NET Core] Entity Framework Core란? modern data의 이해 데이터 저장에 아래의 2가지 종류의 DB가 가장 흔하게 사용된다. Relational Database Management System(RDBMS) : Microsoft SQL Server, PostgreSQL, MySQL, SQLite NoSQL : Microsoft Azure Cosmos DB, Redis, MongoDB, Apache Cassandra Legacy Entity Framework의 이해 EF는 2008년도에 .NET Framework 3.5의 일부분으로 처음 배포되었다. MS는 어떻게 개발자들이 ORM을 사용하는지 관찰해왔다. ORM은 classes의 properties와 tables의 columns을 연결하여, 개발자가 DB에 상관없이 친숙한 objects.. 2023. 5. 23.
ASP.NET Core] Entity Framework Core - SQL Queries EF Core는 RDB에서 SQL 쿼리를 사용하도록 허용한다. LINQ를 사용할 수 없거나 비효율적인 SQL이 생성되는 경우 또는 keyless entity type이나 regular entity types을 반환하는 경우 사용할 수 있다. Basic SQL queries 1. FromSql public static System.Linq.IQueryable FromSql (this Microsoft.EntityFrameworkCore.DbSet source, FormattableString sql) where TEntity : class; interpolated string 으로 SQL query에 기반한 LINQ query를 만든다. EF Core 7.0에서 도입되었으며, 이전 버전 사용 시 FormS.. 2023. 5. 9.
728x90
반응형