如何使用生成器填充列?

时间:2019-01-07 19:49:57

标签: asp.net-mvc entity-framework firebird

我正在用C#创建一个ASP.NET MVC Web应用程序。我创建了一个基于Firebird数据库的模型类。我遇到的麻烦是,当我在表中插入新记录时,未调用该表的生成器-因此,我在该列中得到一个NULL值。

如何在每个表/每个字段的基础上指定哪些列是IDENTITY列,并将它们链接到Firebird中的它们各自的GENERATORS?

1 个答案:

答案 0 :(得分:2)

1。创建生成器

arr.inject(Articles){|articles, args| articles.send(*args)}

2。创建触发器

CREATE SEQUENCE GEN_TESTTABLE_ID

3。创建过程

CREATE TRIGGER testtable_bi FOR testtable
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.id IS NULL) THEN
    NEW.id = GEN_ID(gen_testtable_id,1);
END

在Firebird 3中,您可以使用身份主键

CREATE PROCEDURE sp_gen_testtable_id
RETURNS (id INTEGER)
AS
BEGIN
  id = GEN_ID(gen_testtable_id, 1);
  SUSPEND;
END

Also a useful answer link