2012-06-12 3 views
0

엔티티 프레임 워크를 사용하여 sql 언어로 연결하면 어떻게 사용할 수 있습니까? 이 post에서 ObjectContext.ExecuteStoreQuery는 일부 쿼리 (SQL 언어에 1 : 1이 아닌)에서만 작동하기 때문에 도움이되지 않는다고 이해했습니다.엔티티 프레임 워크를 사용하는 sql 쿼리

거기에 언급 된 다른 옵션은 ObjectContext.Connection을 사용하고 거기에서 "고전적인"ADO.NET 코드를 작성하는 것입니다. 그러나 나는 그 방법을 알 수 없습니다. 내가 엔티티 프레임 워크

select MAX(customer_id) from Customers 

같은 간단한 쿼리를 수행 할 수있는 방법

사람은 아주 간단한 코드 예제를 적어주세요 수 ? 나는 Linq-To-Sql이 존재한다는 것을 알고 있지만 SQL 언어를 사용하는 것을 선호한다. 그것은 나에게 더 단순 해 보이며 나는 그것에 익숙하다.

답변

2

하지 대답,하지만 난에이 ... 나는 자신에게 호의를 수행하고 SQL을 "잊지"SQL 언어를

를 사용하는 것을 선호

! Linq은 그다지 어렵지 않습니다. 문자열 리터럴의 SQL은 유지 보수 문제입니다. Linq는 강력한 형식이므로 컴파일러는 코드 손상으로부터 당신을 보호합니다. 인텔리 센스가 있고 의식 코드가 훨씬 적어 복잡한 쿼리를 표현하는 것이 훨씬 쉽습니다. 등등.

진술서는 Linq의 케이크 조각입니다. 그냥 조언

context.Customers.Max(c => c.customer_id) 

음, : D

+0

실제로 Linq을 사용하지 않는 원시적 인 느낌이 들었 기 때문에 다른 사람들의 의견을보고 싶었 기 때문에 실제로 그와 같은 종류의 답변도 얻길 바랐습니다.하지만 마감일이되는 프로젝트가 있었으면 훨씬 쉬울 것입니다. Linq에서 어떻게 쓰여 져야하는지 짐작하는 것보다 친숙한 것으로 할 수 있습니다. – BornToCode

+0

아, 생명이에요. 하지만 그 후 : 린크와의 전면적 인 증기, 맞죠? –

+0

아무도 여기 내 문제를 곧 해결할 수 없다면 나는 앞으로 Linq와 함께 완전한 스팀을 강요 당할 수도 있습니다 .. :)하지만 여전히 테이블 조인이나 Linq로 복잡한 쿼리를 수행하는 것에 대해 두려워합니다. – BornToCode

8

DataContext 클래스 개체에 context 가정 작동합니다 SQL queries

var maxId= context.Database. 
      SqlQuery<int>("select MAX(customer_id) from Customers") 
                   .SingleOrDefault(); 

이를 실행하기 위해 Database.SqlQuery 방법을 사용합니다.

+0

가 왜 오류 'mydbEntities'를받을 수 있나요은 '데이터베이스'에 대한 정의를 포함하지 않는 이유는 무엇입니까? – BornToCode

+0

사용중인 엔티티 프레임 워크의 버전은 무엇입니까? – Shyju

+0

.net 4를 사용하고 있는데 System.Data.Linq.dll을 사용하여 추가했습니다. – BornToCode

관련 문제