插入时将PK添加到另一列
Posted
技术标签:
【中文标题】插入时将PK添加到另一列【英文标题】:adding PK into another column when inserting 【发布时间】:2021-05-20 12:40:18 【问题描述】:我想将主键插入另一列,如下所示:-
Id | PaddedID |
----------------
6 | 0000006 |
7 | 0000007 |
有没有办法一次性在 db.SaveChanges() 中实现这一点?我知道我可以获得如下 ID 并更新 PaddedID:-
int id = Result.Id;
有没有办法使用 LINQ 告诉它用一些值填充 PK 并将其插入 PaddedID 列?
指点赞赏....
【问题讨论】:
Id
服务器生成了吗?我的意思是它可能是IDENTITY
或SEQUENCE
驱动的
@JesúsLópez Id 是数据库中的列,是主键
【参考方案1】:
您可以使用 FORMAT 集成函数为 PaddedID 使用持久计算列,如下所示:
ALTER TABLE MyTable ADD PaddedID AS FORMAT(Id, '00000000') PERSISTED
【讨论】:
出现以下错误:- 无法保留表“用户”中的计算列“PaddedID”,因为该列是不确定的。【参考方案2】:你是否使用过HasComputedColumnSql
并尝试过这样的事情:
protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity<YouEntity>()
.Property(p => p.PaddedID)
// here is the computed query definition
.HasComputedColumnSql("[Id]");
【讨论】:
Is there a way using LINQ to tell it take the PK pad...
可以先用代码完成。以上是关于插入时将PK添加到另一列的主要内容,如果未能解决你的问题,请参考以下文章
PHP/ACCESS/MYSQL 获取自动增量值并将其添加到另一列,后面有文本