C#

C# .NET 프레임 워크 && Entity Framework

검은고양이개발자 2023. 11. 20. 16:56
반응형

. NET 프레임워크 


ASP.NET Web Forms

  • 서버 측 컨트롤과 사용자 인터페이스를 생성하는 데 사용됩니다.
  • Windows Forms와 유사한 방식으로 동작하여 UI를 쉽게 구축할 수 있게 합니다.
  • 특히, 이는 이전의 Windows Forms 개발자들이 웹 애플리케이션을 구축하기 쉽게 만들어주는 장점이 있습니다.
  • 그러나 최근에는 ASP.NET MVC나 ASP.NET Core 등의 새로운 웹 개발 패러다임이 등장하면서, 더 모던하고 유연한 웹 애플리케이션을 구축하는 데에는 이들이 더 적합할 수 있습니다.

ASP.NET MVC (Model - View - Controller) 

  • MVC는 Model-View-Controller 아키텍처를 기반으로 하는 웹 응용 프로그램 개발을 지원합니다.
  • 이는 더 테스트 가능하고 유지보수가 쉬운 코드를 작성할 수 있도록 도와주며, 각 부분을 독립적으로 개발하고 테스트할 수 있는 장점이 있습니다.
  • 최근의 웹 개발에서는 MVC 패턴이 널리 사용되고 있으며, 특히 ASP.NET Core에서는 더욱 강화된 MVC 지원이 이루어져 있습니다.

ASP.NET Web API 

  • RESTful 웹 서비스를 쉽게 구축할 수 있도록 도와주는 프레임워크입니다.
  • JSON 또는 XML을 사용하여 데이터를 교환하며, 이는 모바일 애플리케이션 또는 다양한 플랫폼 간에 데이터를 공유하는 데에 유용합니다.
  • 이는 모던한 웹 애플리케이션의 필수 요소 중 하나로 자리 잡고 있습니다.

ASP.NET Core

  • NET Core 를 기반으로 하는 새로운 버전의 ASP.NET입니다.
  • NET Core는 크로스 플랫폼을 지원하며, 가벼워서 성능이 우수하며 확장성이 뛰어납니다.
  • 특히, Docker와의 통합, 자동화된 개발 도구, 새로운 플랫폼 지원 등이 ASP.NET Core에서 제공되므로, 현대적이고 효율적인 웹 애플리케이션을 개발하는 데에 강력한 기반을 제공합니다.

ASP.NET SignalR

  • 웹 소켓 및 실시간 통신을 쉽게 구현할 수 있는 라이브러리로, 실시간으로 서버와 클라이언트 간에 양방향 통신을 가능하게 만듭니다.
  • 예를 들어, 실시간 알림이나 채팅 애플리케이션에서 사용할 수 있으며, 사용자 경험을 향상하는 데에 기여할 수 있습니다.

 

ASP.NET 은 강력한 데이터 바인딩, 보안 기능, 세션 관리, 사용자 인증 등과 같은 다양한 기능을 지원합니다.
또한, Visual Studio와 통합되어 개발 및 디버깅을 쉽게 할 수 있습니다.



Entity Framework (EF)  


데이터베이스와의 상호 작용을 추상화하여 개발자가 객체 지향 프로그래밍 방식으로 데이터베이스를 다룰 수 있도록 도와주며 EF는 데이터베이스 스키마와 C# 클래스 간의 매핑을 자동으로 처리하여 개발자가 직접 SQL 쿼리를 작성하지 않고도 DB와 상호 작용할 수 있도록 지원합니다.

 

Code First && Database First

  • Code First - 개발자가 C# 클래스를 작성하고, EF를 사용하여 데이터베이스를 자동으로 생성, 업데이트하는 방식
  • Database First : 데이터베이스 스키마가 이미 존재할 때, EF가 데이터베이스 스키마를 기반으로 C# 클래스를 자동으로 생성하는 방식

LINQ(Language Integrated Query) :

Entity Framework는 LINQ를 지원하여 C# 코드에서 SQL 쿼리를 작성할 수 있게 합니다.

이는 강력한 데이터 쿼리 기능을 제공하며, 개발자가 간단하고 읽기 쉬운 방식으로 데이터를 검색할 수 있도록 합니다.

 

데이터베이스 Providers:

Entity Framework 는 다양한 데이터베이스 시스템과 함께 사용할 수 있는 다양한 프로바이더를 지원합니다.

SQL Server, MySQL, PostgreSQL, SQLite 등 다양한 데이터베이스에 대한 지원이 가능합니다.

 

최적화된 쿼리 및 성능 향상 :

Entity Framework 는 데이터베이스에서 데이터를 검색할 때 최적화된 쿼리를 생성하여 성능을 향상합니다.

또한, Lazy Loading 및 Eager Loading과 같은 기능을 통해 성능을 더욱 개선할 수 있습니다.

 

Entity Framework는 Code First와 Database First 접근 방식을 지원하여 개발자가 선호하는 방식으로 데이터베이스를 다룰 수 있습니다. 이를 통해 데이터베이스 스키마와 C# 클래스 간의 일관성을 유지하면서 개발할 수 있습니다. 또한, 마이그레이션을 통해 데이터베이스의 변경사항을 관리할 수 있어 프로젝트의 유연성을 높입니다.

 

반응형