Связка VS2010, NET 4.0, Entity Framework 5.0, Firebird 2.5, FirebirdClient 3.1 для NET 4, DDEX firebird provider 3.0
EF только начинаю использовать.
Для меня принципиально использовать ХП и реализовать сценарии оптимистичной блокировки при параллельной работе.
Но как-то эти два простых желания не удается связать в одно решение

Обрабатывать нужно следующие случаи.
Случай 1.
Редактировании удаленной записи.
Случай 2.
Редактирование записи, которая была изменена после получения на клиента.
В документации на EF про случай 1 написано, что в ХП нужно сделать возвращаемый параметр, пометить его как "Rows Affected", и в случае если он будет равен нулю, то будет Exception.
Проблема в том, что дизайнер модели в упор не видит output параметры из ХП Firebird (из MS SQL Server видит).
Про случай 2 написано, что в таблицу нужно добавить поле, которое пометить как используемое при обработке параллельности и если оно при update в результате окажется не таким как
было изначально, то тоже будет Exception. Написал, следующую ХП
create or alter procedure "UserInfo_U" (
"RowID" integer,
"UserName" varchar(30),
"Password" varchar(10),
"ObjectVersion" integer)
returns (
"ObjectVersionNew" integer)
AS
begin
update "UserInfo"
set "UserName" = :"UserName",
"Password" = :"Password"
where ("RowID" = :"RowID")
returning "ObjectVersion" into "ObjectVersionNew" ;
suspend;
end
После SaveChanges() значение "ObjectVersion" приходит новое, а Exception нет
Вопрос. То, что я хочу — это реально сделать? Я имею ввиду связку Firebird и EF и обработку феноменов параллельной работы.
Если да, то как ?