Tech/Silverlight2009. 4. 6. 09:02

1. What is LINQ?
2. LINQ to Objects
3. LINQ to XML


1. What is LINQ?

- LINQ를 사용하면 C#또는 비쥬얼 베이직 코드를 사용하여 서로 다른 형식의 데이터를 쿼리할 수 있다.
- 작업하는 데이터 타입과 상관없이 단일하고 일관된 쿼리 구문을 제공해준다.
- Deferred Query Execution(지연된 쿼리 실행) : 쿼리를 LINQ를 통해 전개할 때 쿼리는 실제로 실행되기 이전에 평가되지 않는다.
- Silverlight는 LINQ to JSON, LINQ to Objects, LINQ to XML을 지원한다.


2. LINQ to Objects

- LINQ to Objects는 매니지드 코드에서 객체들의 컬렉션을 대상으로 쿼리를 생성할 수 있게 해준다.

public class AddressData
{
 public string name;
 public string phoneNumber;
 public string address;
}

// 이름이 xinics인 사람의 AddressData를 얻기
List<AddressData> addressDatas;
var xinicsAddressData =
from addressData in addressDatas
where addressData.name == "xinics"
select addressData;


3. LINQ to XML

- LINQ to XML 또는 XLinq는 복잡한 XML API에 의존할 필요 없이 쉽게 XML 데이터를 생성하고 쿼리할 수 있게 해준다.

AddressData.xml
<AddressDatas>
<AddressData>
<Name>...</Name>
<PhoneNumber>...</PhoneNumber>
<Address>...</Address>
</AddressData>
</AddressDatas>

// 이름이 xinics인 사람의 AddressData를 얻기
XElement element = XElement.Load("AddressData.xml");
var xinicsAddressData =
from addressData in element.Descendants("AddressData")
where (string)addressData.Element("Name") == "xinics"
select new AddressData
{
Name = addressData.Element("Name").Value,
PhoneNumber = addressData.Element("PhoneNumber").Value,
Address = addressData.Element("Address").Value
};

'Tech > Silverlight' 카테고리의 다른 글

Rhino Mocks in Silverlight  (2) 2009.05.15
DataGrid 사용법  (0) 2009.04.06
Silverlight with WEB  (0) 2009.03.30
Loading Dynamic XAPs and Assemblies  (0) 2009.03.19
Posted by 알 수 없는 사용자