2009-08-31 3 views
1

데이터베이스 myDB를 기반으로 모든 테이블에 대해 edmx를 생성하고 프로젝트를 컴파일합니다. 그런 다음 myDB에 myProc이라는 저장 프로 시저를 만듭니다. 그런 다음 노드 저장 프로 시저에서 "Update Model from database"모델을 업데이트하고 myProc를 추가합니다. 그것은 괜찮습니다. 그런 다음 myProc에 "함수 가져 오기 만들기". 그것은 괜찮습니다. 그럼 내가 프로젝트를 컴파일, 괜찮아.Entity Framework에서 저장 프로 시저의 함수를 찾을 수 없습니다.

myProc에서 문자열을 반환하기 때문에이 가져 오기 기능의 반환 유형은 스칼라 (문자열)입니다.

그럼이 저장 프로 시저에이 함수를 사용하고 싶지만 함수를 찾을 수 있습니다. 일치하는 함수를 찾고 코드에서 호출하는 방법은 무엇입니까?

답변

1

EF 3.5에서는 개체를 반환하는 함수 만 ObjectServices에 표시됩니다.

e.e. importing은 Function을 개념 모델로 끌어들이지만 코드 생성에는 사용하지 않습니다.

4.0에서이 문제를 해결했습니다.

그 동안 eSQL을 사용하여 함수를 호출 할 수 있습니다.

즉이 (의사 코드) 같은 :

EntityConnection connection = ctx.Connection as EntityConnection; 
//Open the connection if necessary 
connection.Open() 
//Create the command 
EntityCommand command = new EntityCommand(); 
command.CommandText = "Function(@p1,@p2"); 
command.Parameters.Add(...); 
command.Parameters.Add(...); 
command.Connection = connection; 
string s = command.ExecuteScalar().ToString(); 

희망이 도움이

알렉스

관련 문제