2011-07-27 5 views
0

Sql Server 2008에서 시퀀스를 구현하는 데 사용하는 테이블이 있습니다. 시퀀스 테이블에는 정수 하나의 열만 있습니다. 내가이값 업데이트 및 Entity 프레임 워크의 업데이트 된 값 반환

update dbo.MySequence set val=val+1 output inserted.val 

처럼 뭔가를하고 엔티티 프레임 워크에 저장 프로 시저를 사용하지 않고 값을 반환 할 수있는 경우

나는 알고 싶어요.

감사합니다.

답변

0

왜 저장 프로 시저가 발생하지 않습니까? 저장 프로 시저 사용은 EF 사용의 일부입니다. 저장 프로 시저를 만들 필요는 없지만 직접 SQL (예 : context.ExecuteStoreQuery)을 호출해야합니다. 예를 들어 MS SQL의 경우 다음을 사용할 수 있습니다.

DECLARE @val INT 
UPDATE dbo.MySequence SET @val = val = val + 1 
SELECT @val 

그러나 이름이 지정된 순서 (추가 열 포함)를 갖는 것이 좋습니다.

+0

Thanks @ladislav,하지만 일부 디자인 제약으로 인해 저장 프로 시저가 옵션이 아니므로 DB에 업데이트 된 값을 얻기 위해 한 번의 클릭 만하면됩니다. – Nik8

+0

순수 EF는 데이터베이스 또는 직접 SQL을 사용하지 않고 단일 왕복으로 수행 할 수 없습니다. 어떤 데이터베이스를 사용하고 있습니까? 이것은 MSSQL의 일반적인 Identity 열과 유사하며 오라클의 시퀀스는 직접 다루어 져야합니다. –

관련 문제