【发布时间】:2020-07-12 11:33:47
【问题描述】:
如何使用 RepoDB 访问 OUTPUT 子句的内容,例如
INSERT INTO MyTable(Name)
OUTPUT INSERTED.ID
VALUES ('TheName')
【问题讨论】:
标签: sql-server micro-orm
如何使用 RepoDB 访问 OUTPUT 子句的内容,例如
INSERT INTO MyTable(Name)
OUTPUT INSERTED.ID
VALUES ('TheName')
【问题讨论】:
标签: sql-server micro-orm
使用ExecuteScalar 扩展方法,如下所示(仅当您插入单行时)。
var result = connection.ExecuteScalar("INSERT INTO MyTable(Name) OUTPUT INSERTED.ID VALUES (@Name);", new { Name = "TheName" });
或者使用类型化的结果。
var result = connection.ExecuteScalar<int>("INSERT INTO MyTable(Name) OUTPUT INSERTED.ID VALUES (@Name);", new { Name = "TheName" });
如果您要插入多行,请使用ExecuteQuery 方法。结果将是一个模型(IEnumerable<T> 类型)。
【讨论】:
带有OUTPUT 子句的DML 在客户端看来就像SELECT。所以看起来 ExecuteQuery 是正确的 API。
【讨论】: