본문 바로가기
728x90
반응형

전체 글303

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.
C#] System.Collections.Immutable 출처 : https://code-maze.com/csharp-immutable-collections/ mutable과 immutable은 can change, cannot change의 뜻을 각각 가진다. 이 의미는 C#에서도 동일하다. mutable object 값을 변경할 때, 값은 같은 메모리에서 변경된다. 하지만 immutable type은 새로운 memory가 생성되며 변경된 값을 저장한다. String : immutable existing string 값을 변경하면, 새로운 object가 생성되고 기존 object는 참조하지 않는다. 따라서 지속적으로 값을 변경할 경우, unreferenced object 값이 늘어나고 garbage collector가 동작할때까지 application per.. 2023. 5. 18.
ASP.NET Core] Cookie Authentication을 이용한 로그인 1. AddAuthentication Cookie Authentication을 사용하기 위해서 아래와 같이 서비스에 등록한다. var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllersWithViews(); builder.Services.AddDbContext(option => option.UseSqlServer( builder.Configuration.GetConnectionString("DefaultConnection") )); builder.Services.AddAuthentication(CookieAuthenticationDefaults.Authent.. 2023. 5. 17.
728x90
반응형