본문 바로가기

Programing/닷넷

자주쓰는 LINQ 정리

쿼리식



표현식

 using System.Linq;          // Where, OrderByDescending



DataContext를 이용

System.Data.Linq.DataContext를 상속받아 구현


INSERT - 해당 테이블의 클래스를 생성후 InsertOnSubmit()를 호출, 이후 SubmitChanges()를 호출하여 데이터 변화를 반영시킴.(자동 생성되는 값이 있을 경우에는, 인스턴스에 값을 자동으로 받아옴)


UPDATE - 인스턴스의 값을 수정 후에 SubmitChanges()를 호출, 주의해야 할 점은 ChangeConflictException 예외가 발생할 수 있다는 점임. 예외처리를 해줄 필요가 있음. 이후 ResolveAll()을 호출하여 충돌을 해결해야 함.

 ResolveAll의 인자: RefreshMode 열거형

  - KeepCurrentValues : 최초에 데이터베이스로부터 획득한 값으로 

  - KeepChanges : 이전의 변화를 유지하고 값을 덮어씌움

  - OverwriteCurrentValues : 이전의 변화를 유지하고 값을 덮어씌움

 자세한 것은 DataContext 예제를 참고!


컬렉션을 문자열로 합침

  리스트 to 문자열 : list.Aggregate((i, j) => i + Environment.NewLine + j)   참고

  StringBuffer를 이용한 개선: list.Aggregate(new System.Text.StringBuilder(), (i, j) =>i.Append(Environment.NewLine).Append(j)).ToString()  참고




'Programing > 닷넷' 카테고리의 다른 글

C#프로그래밍가이드 - 주석  (0) 2013.01.08
DataContext Step by step  (0) 2012.12.21
ADO.NET 데이터 프로바이더들(Data Providers)  (0) 2012.12.19
SQLite in LINQ  (0) 2012.12.13
Community.CsharpSqlite 사용하기  (0) 2012.12.12