2014-06-13 2 views
0

난 당신이 포인트를 얻을이Select 문

"select top 1 V_someview.column1 from dbo.someview join dbo.sometable on someview blah blah where blah blah"

, 같이 보입니다이 t의 SQL 쿼리가 int. 그래서 유형의 하나 개의 값을 반환하는 쿼리 나는 단지 이 질문을 C#에서 int으로 가져와야합니다. ExecuteStoreQuery 또는 ExecuteStoreCommand 중 하나를 사용해야합니다.

는 지금까지 시도 :

var returnedInt = db.ExecuteStoreQuery<int>(queryText); 
var data = db.executeStoreCommand(queryText, new object[0]) 

가 BTW 내가 아니라 반드시 엔티티 프레임 워크를 사용할 수있는 방법이 조인 될 때 ​​작동 등

밖으로 찾을 수이 작동 INT returnedInt = db.ExecuteStoreQuery (QUERYTEXT).먼저();

+0

그래서 그것에 대해 무엇을 작동하지 않는 이유는 무엇입니까? 오류 메시지가 나타 납니까? –

+0

약간 혼란 스럽습니다. 'ExecuteStoreQuery'는 Entity Framework에서 (당연하다고 생각합니다.)하지만 "EF를 사용할 수 있습니다."라고 말합니다. 당신이 그것을 사용하고 있건 없습니까? –

+0

@DanielKelley 예, 내 생각이 다르다. 나는 그 방법이 표준이라고 생각했다. net lib. – DoodleKana

답변

1

ExecuteStoreQuery<T> 메서드는 T 시퀀스를 반환합니다. 그 순서에서 First 또는 FirstOrDefault을 잡아 :

var returnedInt = db.ExecuteStoreQuery<int>(queryText).FirstOrDefault();