SqlQueryAttribute, Firebird, insert into
От: Ed.ward Россия  
Дата: 02.06.11 19:45
Оценка:
Добрый день, господа.

База 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.