У меня есть хранимая процедура в PostgreSQL определяется как:Возвращаясь количество записей обновленных в Telerik Entity Framework с PostgreSQL
CREATE OR REPLACE FUNCTION g_changename(oldname character varying, newname character varying)
RETURNS integer AS
$BODY$
declare
k integer :=0;
begin
UPDATE test SET name = $2 WHERE name = $1;
GET DIAGNOSTICS k = ROW_COUNT;
return k;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION g_changename(character varying, character varying)
OWNER TO postgres;
Сохраненные тесты процедура правильно возвращать количество записей обновляется при
Select g_changename('a','b');
выполняется в PgAdmin. Когда Telerik DataAccess вызывается для обновления домена из базы данных, он компилирует это как:
[MappedFunctionAttribute(Name="\"public\".\"g_changename\"", IsDeterministic=false, Backend=Backend.PostgreSql)]
public static Int32 ChangeName(string oldname, string newname)
{
throw new NotImplementedException();
}
Который, из всего, что я читал, кажется уместным. Однако как бы вы написали метод для его вызова?
Это не удается, так как он вызывает статическую процедуру, которая не реализована:
public int ChangeName(string OldName, string NewName)
{
var x = Nova.Data.Data.ChangeName(OldName, NewName);
return x;
}
И я не знаю, как использовать метаданные Telerik, что «MappedFunctionAttribute» относится тоже.
Любая помощь была бы очень признательна, поскольку я боролся с этим в течение нескольких дней.