백화 LINQ 시리즈 1 - - LINQ가 뭐예요?

4481 단어 LINQ

1. 이 시리즈의 목표


1. LINQ 이해하기;
2. 복잡하게 쓸 수 있는 LINQ 문장(예를 들어 동적 조회).
3. 표현식 트리와 관련 개념을 이해한다.
4. LINQ를 능숙하게 활용하여 아름다운 코드를 작성한다(함께 노력하여 최종적으로 달성하기를 바란다).

LINQ는 무엇입니까?


LINQ 분쟁의 매연은 이미 사라졌고, 현재 LINQ는 C# 개발자의 필수 기술 중의 하나가 되었다.많은 사람들이 그것으로 아름다운 코드를 썼다. 그것은 이미 데이터를 처리하는 새로운 개발 방식이 되었다. 이것은 아마도 네가 선택한 것일 것이다.NET는 개발 플랫폼의 혜택 중 하나이다.점점 더 많은 소스 라이브러리와 프레임워크가 LINQ를 대량으로 사용하고 있다.자신의 기술을 향상시키든 다른 사람의 코드를 읽든 너와 내가 빼앗은 돌이어야 한다.이어서 저는 여러분께 그것을 소개하고, 자신의 인식을 이야기할 것입니다. 만약 부적절한 부분이 있으면 바로잡아 주십시오.

1、LINQ는 무엇입니까?


통용되고 언어가 통합된 검색 도구이 도구를 사용하면 메모리 객체(LINQ to Objects), 데이터베이스(LINQ to SQL), XML 파일(LINQ to XML), 파일 시스템 등 다양한 데이터 소스에서 데이터를 액세스할 수 있습니다.Visual Studio 2008에는 C# 및 Visual Basic 언어 구문에 대한 강력한 쿼리 기능을 제공하여 오랜 시간 동안 검증된 내용을 담고 있습니다.
다음은 쿼리 메모리 객체 데이터 소스의 데이터 기본 방법 및 LINQ 쓰기 방법입니다.
 
       /// <summary>

        ///        5     

        /// </summary>

        public static void RraditionalMethod() {

            int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };



            //          

            List<int> lowNums = new List<int>();

            for (int i = 0; i < numbers.Length; i++) {

                if (numbers[i] < 5) {

                    lowNums.Add(numbers[i]);

                }

            }



            Console.WriteLine("Numbers < 5:");

            foreach (var x in lowNums) {

                Console.WriteLine(x);

            }

        }



        /// <summary>

        ///        5    

        /// </summary>

        public static void LinqMethod() {

            int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };



            //LINQ  

            var lowNums =

                from num in numbers

                where num < 5

                select num;



            Console.WriteLine("Numbers < 5:");

            foreach (var x in lowNums) {

                Console.WriteLine(x);

            }

        }


아마도 메모리 대상의 데이터 원본에서 데이터를 조회하는 LINQ 방법은 나에게 더 이상 좋은 점이 없다고 생각할 것이다. (적어도 예시를 보면 코드 수량의 차이가 많지 않다.)서두르지 마라!데이터베이스에 있는 데이터의 조작을 살펴보고 이어서 토론하자. LINQ가 없기 전에 데이터베이스(이곳은 관계형 데이터베이스)의 지구화 데이터를 조회할 때 SQL 문장을 사용해야 한다. 코드를 쓸 때 빨간색(문자열이 VS에 있는 색깔)의 SQL 문장은 틀림없이 너에게 많은 번거로움을 가져다 주었겠지?알파벳을 잘못 썼을 수도 있고, 알파벳 순서를 잘못 썼을 수도 있고, 어쩌면... 컴파일러가 우리에게 아무런 힌트도 주지 않았을 수도 있다.결과적으로 하나씩 운행되었을 때 이상했다.복잡한 시스템에서 이 문제를 해결하는 데 몇 시간이 걸리는 것은 정상이고, 더 나쁜 것은 같은 오류가 자주 발생하는 것이다!!!하지만 LINQ가 생기면 LINQ to SQL을 사용합니다. 이 번거로움은 다시는 당신을 귀찮게 하지 않을 것입니다.아래의 예시를 보십시오. 당신이 설레는지 안 설레는지 보십시오.
        /// <summary>

        ///         5          

        /// </summary>

        /// <param name="connectionString"></param>

        private static void ReadOrderData(string connectionString) {

            string queryString =

                "SELECT * FROM dbo.Orders WHERE OrderID<5;";

            using (SqlConnection connection = new SqlConnection(

                       connectionString)) {

                SqlCommand command = new SqlCommand(

                    queryString, connection);

                connection.Open();

                SqlDataReader reader = command.ExecuteReader();

                try {

                    while (reader.Read()) {

                        Console.WriteLine(String.Format("{0}, {1}",

                            reader[0], reader[1]));

                    }

                }

                finally {

                    //        

                    reader.Close();

                }

            }

        }


 
       /// <summary>

        ///         5      LINQtoSQL  

        /// </summary>

        public void ReadOrderDataByLinqToSql() {

            var q =

                from c in db.Orders

                where c.OrderID <5

                select c;

            ObjectDumper.Write(q);

        }


3. LINQ를 사용하는 이유


위의 비교를 통해 알 수 있듯이 LINQ는 다음과 같은 이점을 제공합니다.
1. 통합화되어 조회를 C#(VB.NET) 문법으로 봉하여 다른 C#(VB.NET) 문법과 같은 하이라이트, 유형 검사를 얻었다.
2. 조회 논리를 사용하면 더욱 명확해진다.
3. 통일된 조회 문법으로 메모리 대상, 데이터베이스, XML 등 데이터 원본의 데이터를 처리한다.
4. 개발 속도를 향상시켰다(위의 LINQ TO SQL 예시).
5. 코드의 유지보수성, 확장성을 향상시킨다(뒤에 소개할 것이다).
이외에도 LINQ TO SQL은 SQL 주입을 효과적으로 방지하고 시스템의 안전성을 향상시킬 수 있다.오늘은 늦었으니 먼저 씻고 자라.도움이 된다면 추천 지원을 눌러 뒷글쓰기 동력을 높여주세요.만약 무슨 부당한 점이 있으면 다시 한번 시정을 간청합니다.

좋은 웹페이지 즐겨찾기