PPart 1: LINQ 이해하기 PPart 2: Lambda 표현 식과 확장 메서드 PPart 3: LINQ 확장 메서드 활용 CConclusion.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
DB 프로그래밍 학기.
소리가 작으면 이어폰 사용 권장!.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Database Laboratory, Hong Ik University
최윤정 Java 프로그래밍 클래스 상속 최윤정
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
주)INVENTORNICS 노창배 소프트웨어 김 경 순
Ch.07-5 xml-rpc 사용하기 김상엽.
JSP Programming with a Workbook
컴퓨터 프로그래밍 기초 [Final] 기말고사
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
ASP.NET : Database 접근 2008 컴퓨터공학실험(Ⅰ)
제 3장. C보다 나은 C++ II.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
자바 5.0 프로그래밍.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
Power Java 제14장 배치 관리자.
1장 비주얼 C#과 만남.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
자바 5.0 프로그래밍.
C#.
웹 어플리케이션 보안 2016년 2학기 3. Mongo db.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
7장 인터페이스와 추상 클래스.
Method & library.
Go Lang 리뷰 이동은.
컴퓨터소프트웨어설계및실험 년 1학기 실험계획 -.
Smart Workplace 개발자 가이드
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
C# O/R 디자이너- LINQ 이용.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
자바 5.0 프로그래밍.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
CHAP 21. 전화, SMS, 주소록.
객체기반 SW설계 팀활동지 4.
문성우 SQL 실습 Part Ⅰ 문성우.
네트워크 프로그래밍 (모바일 주문 프로그램 )
오라클 11g 보안.
05. General Linear List – Homework
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Chapter 10 데이터 검색1.
MIDP 네트워크 프로그래밍 ps lab 김윤경.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
Power Java 제14장 배치 관리자.
Java의 정석 제 8 장 예외처리 (Exception handling) Java 정석 남궁성 강의
 6장. SQL 쿼리.
DBMS & SQL Server Installation
7 생성자 함수.
6 객체.
20 XMLHttpRequest.
Presentation transcript:

PPart 1: LINQ 이해하기 PPart 2: Lambda 표현 식과 확장 메서드 PPart 3: LINQ 확장 메서드 활용 CConclusion

이 장에서는 LINQ 의 기본 기능 을 살펴봅니다.

LLanguage Integrated Query 의 줄임말 ..NET Framework 3.5 부터 공식적으로 지원 CC# 3.0, Visual Basic.NET 9.0 과 호환 TThird party IDE 의 경우 RemObjects Pascal v2.0 (Joyride) 이후 버전부터 호환

B e f o r e L I N Q ( S Q L ) A f t e r L I N Q ( S Q L )

SQL 문법  SQL 표준 문법을 기초로 T-SQL, PL/SQL 등의 확장이 존재 기능성  CREATE, READ, UPDATE, DELETE 실행 영역  응용프로그램과는 분리된 계층에서 실행 확장 가능성  DBMS 조회 이외의 기능으로는 확 장에 제한이 있음 LINQ 문법  프로그래밍 언어별 (C#, VB.NET, Delphi Prism 등 ) 로 확장 지원 기능성  READ (Provider 에 따라 Delta Create/Update/Delete 를 지원 ) 실행 영역  컴파일러가 해석을 하고 대응되는 코드를 MSIL 로 작성 확장 가능성  Custom LINQ Provider 작성으로 DBMS 外의 데이터 소스로 확장 가능

Pro*C 프로그래밍 언어  C/C++ 문법을 전제로 사용 처리 방식  Pro*C 전 처리기 처리 후 최종 소스 를 작성 (LEX/YACC 와 같은 방식 ) 대상 데이터 소스  Oracle DBMS 만을 고려하고 최적 화한 것이 특징 기능성  CREATE, READ, UPDATE, DELETE LINQ 프로그래밍 언어  LINQ 를 지원하는 모든 언어 (C#, VB.NET, Delphi Prism, …) 처리 방식  정규 문법의 일부로 통일되어 ASP.NET, CODEDOM 에서도 지원됨 대상 데이터 소스  DBMS 외의 다양한 데이터 소스를 선택하거나 추가 개발 가능 기능성  READ (Provider 에 따라 Delta Create/Update/Delete 를 지원 )

LINQ to Object LINQ to SQL LINQ to ADO.NET Data Entities

LINQ to Data Set LINQ to XML And Your Exclusive LINQ Providers

FROM Clause: FROM [A] IN [B]

LET Clause: LET [C] = [D]

WHERE Clause: WHERE [E]

ORDERBY Clause: ORDERBY [F] [G]

SELECT Clause: SELECT [H]

Step 1 사원 정보를 포함하는 컬렉션 작성 Step 2 기본 구문으로 자료를 선택하여 결과를 출력하기 Step 3 이름을 오름차순으로 정렬하여 결과를 출력 하기 Step 4 성이 “ 김 ” 씨인 사람들의 급여를 내림차순으로 정렬하여 결과를 출력하기

이 장에서는 Lambda Expression 과 Extension Method 에 대하여 살펴보기로 합니다.

Format #1 ( 식 람다 ): 매개 변수 => 스칼라 식 ; Format #2 ( 문 람다 ): 매개 변수 => { 변수 명 = 대입 식 ; … };

Comparison 대리자 : var x = (x, y) => x.CompareTo(y); Action 대리자 : var y = y => Console.WriteLine((y * y).ToString()); Func 대리자 : var z = (x, y) => { int z = (x + y) * (x – y); MyFunc(z); };

직접 형식 지정 가능 #1: var = (string x, string y) => x.CompareTo( y); 직접 형식 지정 가능 #2: var y = (int y) => y / y;

기존의 정적 메서드 의 특성 정적 메서드가 작용 할 대상 형식의 설정

외관과는 달리 실 제 형식에 속하는 멤버가 아님 정적 메서드로서 의 성격을 그대로 유지

NULL 참조에 대한 멤 버 메서드의 호출이 제한됨 정적 메서드이기 때 문에 NULL 참조에 대 해서도 호출이 가능

EExtension Method 의 선언과 참조는 별도로 구분된다. EExtension Method 가 정의된 Static Class 가 속한 네임스페이스를 코드 상에서 참조 uusing System.Linq;

public static class MyExtensions { public static string AsString(this int i) { return i.ToString(); } } // static 키워드와 this 키워드에 주목 !

EExtension Method 는 정적 클래스 위에서만 선언이 가능하다. EExtension Method 는 정적 메서드 형태여야 만 한다. 첫첫 번째 인자에 확장할 대상 형식에 해당되는 변수를 지정하고 this 키워드를 붙인다.

이 장에서는 Enumerable Type 에 대하여 구현된 Extension Method 의 활용법을 살펴봅니 다.

IEnumerableGetEnumerator For

AllAny ContainsSequenceEqual

CountMaxMin SumAverage

AggregateElementAtFirst LastSingle

DistinctExceptIntersect SkipTakeWhere

CastConcat DefaultIfEmptySelect

SelectManyGroupBy GroupJoinJoin

ReverseOrderByToArray ToDictionaryToListToLookup

간간단한 웹 기반 메모 패드 예제 사사용하는 데이터베이스 : Oracle 10g Express Edition 사사용하는 프레임워크 : ASP.NET MVC JJ-Query 를 이용한 클라이언트 UI

CChapter 1 에서는 LINQ 의 기본 사양과 관련 된 C# 3.0 의 기본 문법을 다루었습니다. CChapter 2 에서는 LINQ to SQL, LINQ to XML 에 대해서 살펴보기로 합니다. 감감사합니다.