gpt4 book ai didi

c# - 如何使用 Entity Framework 6 代码优先方法在 SQL Server 中创建序列并应用两个表?

转载 作者:行者123 更新时间:2023-12-04 15:40:51 25 4
gpt4 key购买 nike

我有两个表A和B

表 A - Id 主键不是身份

表 B - Id 主键不是身份 - Id 主键不是身份

如何在 Entity Framework 6 中创建没有 identity(1,1) 的 A 和 B 表主键列并为这两个表应用序列。

而且这两张表需要用SQL实现顺序

如果示例表 A 插入一条记录 id 是 1。我将像这样插入表 B id 是 2

我已检查身份关闭无法在脚本和 Entity Framework 6 中工作并且也无法在 Entity Framework 6 中创建序列

但 EFCore 具有顺序特征

 modelBuilder.HasSequence<int>("OrderNumbers", schema: "shared")
.StartsAt(1000)
.IncrementsBy(5);

modelBuilder.Entity<A>()
.Property(o => o.Id)
.HasDefaultValueSql("NEXT VALUE FOR shared.OrderNumbers");

在这

HasSequence not available in Entity Framework 6

如何先在 EF 6 代码中创建序列

有知道的分享一下

最佳答案

使用以下过程在上次迁移中添加查询中的序列

public override void Up()
{
Sql("CREATE SEQUENCE tbl_seq START WITH 1 INCREMENT BY 1;");
..........
..........
CreateTable(
"dbo.Table_A",
c => new
{
id = c.Long(nullable: false, identity: false, defaultValueSql:
"NEXT VALUE FOR tbl_seq"),....
}

CreateTable(
"dbo.Table_B",
c => new
{
id = c.Long(nullable: false, identity: false, defaultValueSql:
"NEXT VALUE FOR tbl_seq"),....
}

在这个地方设置更改迁移以创建这些表集的表

身份:假的, defaultValueSql:“tbl_seq 的下一个值”

更新数据库后。我们检查那些表在这些表上应用了序列。

关于c# - 如何使用 Entity Framework 6 代码优先方法在 SQL Server 中创建序列并应用两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57867828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com