2009-06-14 4 views
2

SQL과 마찬가지로 LINQ는 다양한 소스에서 데이터를 검색 할 수있는 좋은 방법이지만 현재 SQL이 제공하는 다른 요소, 특히 업데이트/삽입/삭제에 대해 이야기하는 사람은 없습니다. 다양한 DLinq 공급자는 모두 자체 메커니즘을 제공하지만 데이터 소스의 수정 시점이 LINQ가 나타내는 언어 확장의 일부가되는 것처럼 보입니다. LINQ의 진화에서이 단계에 대한 기사 나 토론을 본 사람이 있습니까?LINQ 로드맵에 업데이트/삭제/삽입이 있습니까?

많은 감사를드립니다!

+0

DataContext/Session/Collection 등에서 제공하는 특정 메서드를 통하지 않고 언어의 일부로 업데이트에 대해 얘기하고 있습니다. –

답변

1

잘 모르겠는데, LINQ to SQL에서 지원됩니다.

+0

그래, 각각의 특정 LINQ 공급자는 자체 업데이트 방법, 삽입 및 삭제 제 질문은 왜 독서를위한 "보편적 언어"와 글쓰기를위한 10 가지 독립적 인 방법을 개발하는 것입니다. SQL이 "읽기 전용"이고 쓰기 위해 다른 언어/프레임 워크로 가야한다면, 아마 오래 동안 살아남지 못할 것입니다. –

0

업데이트, 삽입 및 삭제는 일반적으로 쿼리 (본질적으로 찾기 작업)를 수행하는 것보다 훨씬 쉬운 문제입니다.

데이터베이스가 아닌 제네릭 컬렉션을 언급하는 경우 삽입 또는 추가와 같은 메서드 호출을 사용하여 항목을 추가하고 삭제 또는 제거를 사용하여 항목을 제거합니다. 항목을 변경하려면 일반적으로 항목을 직접 조작하면됩니다.

+0

나는 그들이 서로 다른 문제를 해결하는 데 동의하지만 일반적으로 함께 사용한다. (이 객체를 찾아서 "붉은 색"으로 바꾼다.) 다양한 소스 (데이터베이스, 목록)의 데이터를 하나의 공통된 방법으로 쿼리 할 수 ​​있으므로 업데이트하지 않는 이유는 무엇입니까? 마찬가지로, 좋지 않을까요? 업데이트 myListOrXmlOrDataBase set color = "red" 여기서 name = "tomato"; –

2

Linq는 두 개의 인터페이스, IEnumerable<T>IQueryable<T>을 대상으로합니다.

IEnumerable<T>에 대해 삭제 작업을 수행하는 방법에 대해 생각하십시오.

Enumerable.Range(0, 5)에서 어떻게 삭제합니까?

+1

당신은 내 입에서 말을 꺼 냈습니다. LinqToObjects는 "의도적으로"변경 가능한 작업을 지원할 수 없습니다. –

+0

그것은 좋은 지적이지만 현재 존재하는 Linq 만 덮고 있습니다. 다시 말하지만 SQL의 개념은 쿼리가 완전한 데이터 검색 및 수정 언어의 한 부분 일뿐입니다. 현재 Linq는 데이터 검색 언어 일 뿐이며, 데이터의 다양한 세트를 업데이트하기 위해 추가 인터페이스와 언어 확장이 추가되는 것처럼 보입니다. –