2
would like a help,
i have the following Function that is in the bank postgres
CREATE OR REPLACE FUNCTION public.get_id(campo character varying)
RETURNS integer AS
$BODY$
DECLARE
_id integer;
BEGIN
select into _id vlr_corrente from system_generators where nome = $1;
if _id is null
then
insert into system_generators(nome, vlr_corrente) Values(campo, 1);
select into _id vlr_corrente from system_generators where nome = $1;
update system_generators set vlr_corrente = vlr_corrente + 1 where nome = $1;
else
select into _id vlr_corrente from system_generators where nome = $1;
update system_generators set vlr_corrente = vlr_corrente + 1 where nome = $1;
end if;
return _id;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION public.get_id(character varying)
OWNER TO postgres;
This Function generates the primary keys for me, to generate the primary keys, I just have to call her: select public.get_id('VENDA')
, she returns me a unique number.
So far so good, but as I call the Function that is in the bank, via code line using EntityFramework/C#/MVC
and returning the number.
Or if possible I can generate the primary keys from the same code, without calling Function, already tried to use:
[Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int id { get; set; }
But not for sure, the following message appears: "null value in column "id" violates not-null Constraint"
Note: I can not do inside the tables, auto increment.
Thanks for your help !!