[英]When auto generating database.cs with Peta Poco how do I account for composite keys
[英]How to set auto incremented id to another column with using Peta Poco
我使用C#,SQL Server和PetaPoco默认自动递增ID
。 我只想知道如果可以将此自动增量ID设置为另一列。
我需要使用ID的确切值设置另外2列。 是否可以在SQL CREATE TABLE
语句中执行此操作或在ExecuteNonQuery
之前或之后执行某些挂钩? 如果可能的话,我不想创建视图或触发器。
是的,当然 - CREATE TABLE
允许您通过将IDENTITY
关键字添加到列定义来定义哪个列将成为自动增量列。 这适用于任何基于整数的列,或DECIMAL(p, 0)
类型的列( 0
比例 - 没有后点数)。
例如
CREATE TABLE dbo.YourTable
(
ID INT NOT NULL,
SomeOtherColumn BIGINT IDENTITY(1,1) NOT NULL,
....
)
有关完整和完整的详细信息,请参阅CREATE TABLE
上的MS文档
更新:所以你有3个独立的第三方应用程序,都可以访问这个表,并且都希望找到特定的列 - 其中一个可以创建标识列。 可以计算另外两个,保留该标识列的“副本” - 如下所示:
CREATE TABLE dbo.YourTable
(
ID INT NOT NULL,
YourIdentityColumn BIGINT IDENTITY(1,1) NOT NULL,
....
SpecialColumnForApp2 AS YourIdentityColumn PERSISTED,
SpecialColumnForApp3 AS YourIdentityColumn PERSISTED,
....
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.