Добрый день, господа.
База Firebird — eсть такая процедура
create procedure Entity_Ins (
IN_ID integer,
Title char(50))
returns ( ID integer, RETURN_VALUE integer)
as
begin
insert into entity (
id,
Title,
revision)
values (
gen_id( gen_entity_id, 1 ),
:Title,
0)
returning id into :id;
return_value = row_count;
suspend;
end^
И вот такой метод
[ScalarSource(ScalarSourceType.ReturnValue)]
public abstract int Insert( [Direction.Output( "Id" )] Entity e );
Всё работает прекрасно.
Но вот решил я отказаться от хранимой процедуры и перейти на использование SqlQueryAttribute
Прикрутил триггер для генерация значения для поля Id при вставке и получил вот это
[SqlQuery( @"insert into entity( title ) values ( @Title )")]
public abstract int Insert( Entity e );
Я перерыл весь интернет, но так и не смог найти как же мне вернуть Id в соответствующее свойство класса, и как сделать чтобы из метода возвращалось количество вставленных строк.
То, что в процедуре реализовывалось через
returning id into :id;
return_value = row_count;
заранее спасибо
Ed.ward