Entity Framework
[ASP.NET Core] Shopping mall project 시작하기
기본적인 ASP.NET Core Project를 시작하면 대부분 필요한 기본적인 모든 설정이 포함된 형태의 Project가 생성됩니다. 다만 그렇게 하면 모르고 지나칠 수 있는 부분이 있기에 Computer 부품 판매를 위한 Mall을 만든다는 가정하에 가능한 한 아주 작은 형태의 Project를 먼저 생성하고 하나씩 살을 붙이는 방법으로 진행하면서 ASP.NET Core의 전체적인 구조를 파악해 보고자 합니다. 1. Project 생성 먼저 아래 명령을 통해 ASP.NET Core Web Project를 생성합니다. dotnet new globaljson --sdk-version 6.0.400 --output MyWebApp/MyWebApp dotnet new web --output MyWebApp/M..
[.NET] C#과 NET의 프로젝트 유형 - 4. Entity Data Model
6. entity data model 생성하기 (SQLite) 일반적으로 대부분의 Application은 데이터를 다루는데 관계형 데이터베이스와 같은 DB를 사용합니다. 이와 관련하여 SQL Server나 SQLite에 저장된 데이터베이스를 어떻게 entity data model로 정의할 수 있는지에 대해서 알아보고자 합니다. 우선 이를 위해 SQLite용으로 사용 가능한 Northwind.db를 만들어 두었습니다. 이 파일은 아래 링크에서 내려받으시면 됩니다. 위의 파일을 적당한 위치에 내려받고 나서 이제 해당 db파일을 상대로 dotnet-ef을 통해 entity model을 scaffold 할 것입니다. (1) SQLite의 entity model을 위한 class library 생성 data mo..
[.NET] C#과 NET의 프로젝트 유형 - 3. Project 구조설계및 프로젝트 템플릿
4. project의 구조화 크고 복잡한 설루션에서는 내부의 코드를 파악하는데 어려움이 있을 수 있습니다. 이것은 프로젝트를 구조화해야 하는 주요 이유가 될 수 있는데 이로 인해 필요한 컴포넌트를 쉽게 찾을 수 있도록 하는 것입니다. 큰 하나의 설루션은 여러 프로젝트로 나뉘어 구성될 수 있으며 이때 프로젝트의 이름은 나름대로의 체계성을 가지고 있는 것이 좋습니다. 프로젝트의 이름을 붙이기 위한 다양한 방법이 존재하는데 예를 들어 모든 프로젝트의 접두사로 해당 회사의 이름을 붙이는 것도 하나의 방법이 될 수 있습니다. 예를 들어 회사명이 Northwind라면 아래와 같이 각 프로젝트의 유형별로 나뉘어 구성할 수 있을 것입니다. Northwind.Common 일반적인 공통기능의 Class Library 모음..
[.NET] C#과 NET의 프로젝트 유형 - 2. ASP.NET Core와 Windows 전용 Desktop App
2. ASP.NET Core의 새로운 기능 지난 몇 년 동안 Microsoft는 ASP.NET Core의 능력을 급속히 확장시켜 왔으며 각각의 Version은 아래와 같은 Flatform을 지원합니다. ASP.NET Core 1.1 ~ 2.2 : .NET Core 및 .NET Framework ASP.NET Core 3.0 ~ : .NET Core 3.0 및 이후 버전 (1) ASP.NET Core 1.0 ASP.NET Core 1.0은 2016년 6월에 릴리즈 되었으며 Windows, macOS, Linux등의 OS에서 cross-platform Web이나 Service를 구축하기 위해 필요한 최소한의 안정된 API를 구현하는데 집중한 버전입니다. (2) ASP.NET Core 1.1 ASP.NET C..
[.NET] C#과 NET의 프로젝트 유형 - 1. App Model
1. C#과 .NET의 App Model App Model은 일반적인 Application을 제작하는 대부분의 경우에 사용됩니다. 이와 관련하여 마이크로소프트는 App Model에 대한 광범위한 문서를 제공하고 있는데 이는 아래 주소에서 확인할 수 있습니다. .NET Application Architecture Guides (microsoft.com) .NET Application Architecture Guides Free e-books and practical advice for developing for web, desktop, mobile, and microservices with Docker. Learn how to migrate existing .NET apps to the cloud. dot..
[C#] Entity Framework Core - 1. 시작/설정하기
Entity Framework Core의 목적을 간단히 설명하면 개체 관계 매핑(ORM:Object-Relational Mapping) 기술로서 MS-SQL이나 SQLite와 같은 데이터베이스에 데이터를 읽고 쓰는 데 사용되는 기술이라고 할 수 있습니다. 1. 데이터베이스 데이터를 저장하는데 가장 일반적으로 사용되는 데이터베이스종류로는 Microsoft SQL Server, PostgreSQL, MySQL, SQLite과 같은 RDBMS(Relational Database Management System)와 Microsoft Azure Cosmos DB, Redis, MongoDB, Apache Cassandra와 같은 NoSQL 이렇게 2가지로 나누어질 수 있습니다. (1) Entity Framewor..
[.NET Core] DB로 부터 Model 생성하기 (MySQL/MariaDB)
Entity Framework을 통해 Model(Entity -> 이하 Model이라고 칭함)을 만들면 모델에 따라 DataBase에 Table을 생성할 수 있습니다. 그런데 키나 값의 제약조건 등 다양한 테이블의 속성을 정확하게 Model로 구현하기가 까다로울뿐더러 Table의 개수가 수십 개가 되면 그와 매핑되는 모델을 만들어 주기도 어려웠습니다. Core이전에는 'ADO.NET Entity Data Model'을 사용했지만 Core는 아직 같은 기능으로 사용할 수 있는 건 없는 듯합니다. 따라서 차라리 직접 Database에 Query나 전용 Tool을 사용해 Table을 생성한 다음 만들어진 Table을 대상으로 Model을 가져오는 편이 나을지도 모르며. 이 글에서는 이러한 방법을 안내하고자 합..