SQL은 잊어버리고 내 친구들은 모두 LINQ를 사용합니다.

2489 단어 csharplinqdotnetsql

Learning SQL is a pain. Using SQL is a pain. Be better. Choose .NET. Choose LINQPad.





작년 초에 저는 database site for a game을 구축하고 있었고 한동안 들어가려고 했지만 Entity Framework(또는 지금은 EF Core라고 함)를 가지고 놀 수 있는 좋은 기회라고 결정했습니다. 사용하게 되었습니다. 이미 데이터베이스 설정과 일부 데이터가 삽입되어 있지만 EF Core로 다시 작성하고 새 데이터베이스를 생성하는 것이 큰 문제가 아니라고 생각했습니다.

그러나 몇 가지 조사를 한 후 EF Core에 실제로 기존 SQL 스키마를 리버스 엔지니어링하고 연결된 .NET 모델을 생성하는 경우에 대한 기능이 있음을 발견했습니다. scaffolding

비계, 야호





dotnet ef dbcontext scaffold "server=127.0.0.1;uid=root;pwd=password;database=classicmodels" Pomelo.EntityFrameworkCore.MySql


데이터베이스 연결 문자열과 SQL 공급자 패키지(SqlServer, MySql 등)만 제공하면 EF Core가 나머지를 처리합니다. 이 작업을 수행하려면 전역 dotnet-ef 패키지도 필요하며 다음을 사용하여 설치할 수 있습니다.

dotnet tool install --global dotnet-ef


이것은 훌륭했기 때문에 몇 가지 모델을 생성했고 아무런 노력 없이 데이터베이스에서 즉시 LINQ 쿼리를 실행할 수 있었습니다.

그러나 저는 이것이 전용 앱으로서 매우 유용하다는 것을 깨달았습니다. 데이터베이스에 연결하고 LINQ를 사용하여 앱 내에서 직접 데이터베이스를 조작할 수 있다는 점입니다. 좋아, 그렇게 나쁘지는 않지만 나는 항상 구조와 의미를 싫어했다.

그래서 일을 시작했고 프로토타입을 만들기 시작했습니다. 월요일이 되었을 때 동료 중 한 명에게 내 기발한 아이디어와 내가 구축하기 시작한 프로젝트에 대해 알렸을 때 그는 "그냥 LINQPad 아닌가요?"라고 대답했습니다.

LINQ패드





LINQ는 아마도 .NET에서 가장 사랑받는 측면 중 하나일 것입니다.

LINQPad는 이를 활용합니다. 다양한 SQL 데이터베이스에 연결할 수 있으며 앱 내에서 모델을 생성하고 코드 편집기를 표시하며 모든 .NET 언어(VB, C#, F# 등)를 지원하고 유용한 모델 탐색기가 있습니다. Intellisense 및 통합 디버깅 기능도 있습니다. LINQ 쿼리를 실행할 때 MySQL Workbench와 같은 항목에서 볼 수 있는 것처럼 그리드 형식으로 출력할 수 있습니다. 정말 내가 원했던 모든 것, 그 이상이었습니다. 내가 가진 유일한 불만은 그것이 Windows 전용이라는 것입니다 ...

LINQPad, 내 평생 어디 있었어?

좋은 웹페이지 즐겨찾기